黑马程序员------oc foundation结构框架

   ——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-



   Foundation框架介绍 

      


     框架是由许多类、方法、函数、文档按照一定的逻辑组织起来的集合,以便使研发程序变得更容易在OS X下的Mac操作系统中大约

有80个框架为所有程序开发奠定基础的框架称为Foundation框架

     Foundation框架允许使用一些基本对象,如数字和字符串,以及一些对象集合,如数组,字典和集合,其他功能包括处理日期和时

间、内存管理、处理文件系统、存储(或归档)对象、处理几何数据结构(如点和长方形) 

   

   Foundation框架的作用

Foundation框架在开发中常用的数据类型有:

    结构体 

     枚举
   
   类 

 几个常用的结构体有NSRange,NSPoint,NSSize,NSRect等

NSRange

比如NSRange r = {2, 6}; 第一个数是起始位置,第二个数是长度。

#import <Foundation/Foundation.h>
int main()
{
    NSString *str = @"china";
    NSRange range = [str rangeOfString:@"in"];
    NSLog(@"range.location = %ld, range.length = %ld", range.location, range.length);
    return 0;
}


利用NSRange结构体获得了一个字符串在另一个字符串中的起始位置和长度。运行结果是: 
range.location = 2, range.length = 2


NSPoint 
它表示一个点。常用的创建方式是:NSPoint point = NSMakePoint(10, 15); 

或者NSPoint point = CGPointMake(10,15)


 
NSSize:

它表示大小,它的两个参数分别表示x轴和y轴上的一个范围,常用的创建NSSize变量的方式是:NSSize size = NSMakeSize(8, 13); 或者

NSSize size = CGSizeMake(8, 13);。 


 
NSRect 


它表示一个矩形,它有四个参数前两个表示一个点,代表这个矩形的起始位置,后两个表示它的长和宽。

  NSRect就是NSPoint和NSSize的组合。

通常我们这样创建一个NSRect变量:NSRect rect = NSMakeRect(0, 0, 5, 9); 或者NSRect rect = CGRectMake(0, 0, 5, 9); 

#import <Foundation/Foundation.h>
int main()
{
    NSPoint p = NSMakePoint(1, 2);
    
NSSize s = NSMakeSize(8, 4);

    NSRect r = {p, s};

    NSLog(NSStringFromRect(r));    //输出变量r的值
    NSLog(@"r.origin.x = %.2f, r.origin.y = %.2f, r.size.width = %.2f, r.size.height = %.2f",r.origin.x, r.origin.y, r.size.width, r.size.height);
    return 0;
}

简单展示了NSPoint、NSSize和NSRect。运行结果是: 
{{1, 2}, {8, 4}} 
r.origin.x = 1.00, r.origin.y = 2.00, r.size.width = 8.00, r.size.height = 4.00

字符串

符串类分为两种:一种是不可变字符串(NSString)另一种是可变字符串(NSMutableString),可变字符串是不可变字符串的子类。


不可变字符串: 

初始化字符串:NSString *str=[[NSString alloc] initWithString:@"Objective-C string"]; 

快速创建字符串:NSString *str=@"OC string"; 

带格式转换的字符串:NSString *str=[[NSString alloc] initWithFormat:@"age is %d,height is %.2f",19,1.72f]; 

面是使用对象方法创建字符串的方式,也可以用类方法创建: 


初始化字符串:NSString *str = [NSString stringWithString:@"liyi"]; 

或者:NSString *str = [NSString stringWithFormat:@"age is %d", 20]; 

可变字符串 

可变字符串和不可变字符串的创建方法一样,只不过换成了NSMutableString类。 

#import <Foundation/Foundation.h>

int main()

{
    NSMutableString *s1 = [NSMutableString stringWithFormat:@"my age is 10"];      
//创建一个可变字符串

   [s1   appendString:@" 11 12"];      // 拼接内容到s1的后面   

   NSRange range = [s1  rangeOfString:@"is"];     // 获取“is”的范围

    [s1 deleteCharactersInRange:range];        //删除“is”

    NSString *s2 = [NSString stringWithFormat:@"age is 10"];      //创建一个不可变字符串

    NSString *s3 = [s2 stringByAppendingString:@" 11 12"];      //如果要在s2后面接字符串的话会产生一个新的字符串

    NSLog(@"s1=%@, s2=%@", s1, s2);

     return 0;

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值