Object-C学习笔记八-----Foundation Kit快速教程NSArray NSEnumerator NSDictioary NSNumber NSValue NSNull

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删除。


2。NSEnumerator

NSMutableArray *array;

    array=[NSMutableArrayarrayWithCapacity:17];

    for (int i=0; i<4; i++) {

        Tire *tire=[Tire new];

        [array addObject:tire];

    }

    

    NSEnumerator *enumerator;

    enumerator= [arrayobjectEnumerator];//向数组请求枚举器

从后向前浏览集合,reverseObjectEnumerator方法

  id thingie;

    while (thingie=[enumerator nextObject]) {

        NSLog(@"I found %@",thingie);

    }


快速枚举  类似c#里面的---foreach

  for (NSString *stringin array) {

        NSLog(@"I found %@",string);

    }

遍历数组3中方式,通过索引,使用NSEnumerator 和快速枚举。


3。NSDictionary

dictionaryWithObjectAndKeys创建字典 ,并且以nil作为终止符。

Tire *t1=[Tirenew];

     Tire *t2=[Tire new];

     Tire *t3=[Tire new];

     Tire *t4=[Tire new];

    NSDictionary *tires;

    tires=[NSDictionarydictionaryWithObjectsAndKeys:t1,@"front-left",t2,@"front-right",t3,@"back-left",t4,@"back-right",nil];

     Tire *tire=[tires objectForKey: @"back-right"]; //objectForKey 获取字典中的值

    

NSMutableDictionary 可用dictionaryWithCapacity方法创建可变字典。

还有一种方法创建字典就是用setObject: forkey:

 NSMutableDictionary *tires;

    tires =[NSMutableDictionarydictionary];

    [tires setObject: t1 forkey:@"front-left"];

    [tires setObject: t2 forKey:@"front-right"];

    [tires setObject: t3 forkey:@"back-left"];

    [tires setObject: t4 forKey:@"back-right"];//向字典添加元素。

字典删除removeObjectForKey:   

    [tiresremoveObjectForKey:@"back-left"];//从字典中删除。


NSArray和NSDictionary只能存储对象,不能直接存储刃虎基本类型的数据。

4。NSValue可以包装任意值。

5。NSNumber就是将基本数据类型封装成对象。有点像C#里面的装箱和拆箱。

6。NSNull

你可能感兴趣的:(String,C#,null,oop,存储)