黑马程序员_OC学习之Foundation框架1

来源:互联网 发布:耐克乔六淘宝网 编辑:程序博客网 时间:2024/05/18 13:25

------- IOS培训、android培训、期待与您交流! ----------
一.在Foundation框架中提供的结构体:

下面是提供的集中结构体

 NSRange(location length)

 NSPoint\CGPoint

 NSSize\CGSize

 NSRect\CGRect (CGPint CGSize)


使用这些CGPointEqualToPointCGRectContainsPoint等函数的前提是添加CoreGraphics框架

使用举例

void point()

{

    CGPoint p1 = NSMakePoint(10, 10);

    NSPoint p2 = CGPointMake(20, 20);//最常用

    

    NSSize s1 = CGSizeMake(100, 50);

    NSSize s2 = NSMakeSize(100, 50);

    CGSize s3 = NSMakeSize(200, 60);

    

    CGRect r1 = CGRectMake(0, 0, 100, 50);

    

    CGRect r2 = { {0, 0}, {100, 90}};

    

    CGRect r3 = {p1, s2};

    

    //使用CGPointZero等的前提是添加CoreGraphics框架

    CGRect r4 = {CGPointZero, CGSizeMake(100, 90)};

    

    //表示原点

    // CGPointZero == CGPointMake(0, 0)

    

    

   //将结构体转为字符串

    //NSString *str = NSStringFromPoint(p1);

    

    //NSString *str = NSStringFromSize(s3);

    

    NSString *str = NSStringFromRect(r1);

    

    NSLog(@"%@", str);


}


void range()

{


    NSString *str = @"i love oc";

    

   //查找某个字符串在str中的范围

    //如果找不到,length=0location=NSNotFound==-1

    NSRange range = [str rangeOfString:@"java"];

    NSLog(@"loc = %ld, length=%ld", range.location, range.length);

}


 二.在Foundation框架中提供的NSString:

关于NSString有两种:

 NSString :不可变字符串

 

 NSMutableString :可变字符串


创建语法案例:

 NSString *s1 = @"jack";

    

    //NSString *s2 = [[NSString alloc] initWithString:@"jack"];

    

    NSString *s3 = [[NSString alloc] initWithFormat:@"age is %d", 10];

    

    // C字符串 --> OC字符串

    NSString *s4 = [[NSString alloc] initWithUTF8String:"jack"];

    // OC字符串 --> C字符串

    const char *cs = [s4 UTF8String];

    

    // NSUTF8StringEncoding用到中文就可以用这种编码

    NSString *s5 = [[NSString alloc] initWithContentsOfFile:@"/Users/apple/Desktop/1.txt" encoding:NSUTF8StringEncoding error:nil];


 二.在Foundation框架中提供的NSArray:


1。NSArray有两个限制,首先它只能存储objective-c的对象,其次,它也不能存储nil(对象的0值或null值)因为结束时用nil,代表列表结束。

    NSArray *array ;

    array=[NSArrayarrayWithObjects:@"one",@"two",@"three",nil];

    for (int i=0;i<[arraycount]; i++) {

        NSLog(@"index %d has %@",i,[array objectAtIndex:i ]);

    }


     数组可以拆分,用componentsSeparatedByString方法 ,用componentsJoinedByString来合并

NSString *string =@"oop:ack:bork:greeble:ponies";

   NSArray *chunks=[stringcomponentsSeparatedByString:@":"];//通过:把字符串分解后放入数组中

    

    string =[chunkscomponentsJoinedByString:@":-)"];

    NSLog(@"%@",string);

NSArray也是不可变对象,同样它也有一个子类时可变的NSMutableArray。

addObject在数组末尾添加对象。

removeObjectAtIndex删除。






------- IOS培训、android培训、期待与您交流! ----------
0 0