ios NSArray NSMutableArray NSDictionary NSMutableDictionary使用

来源:互联网 发布:2014淘宝全年销售额 编辑:程序博客网 时间:2024/05/17 18:14

1.NSArray的用法 不可变数组

[array count] : 数组的长度。
[array objectAtIndex 0]: 传入数组脚标的id 得到数据对象。
[arrayWithObjects; ...] :向数组对象初始化赋值。这里可以写任意对象的指针,结尾必须使用nil。 

#import <Foundation/Foundation.h>int main(int argc, const char * argv[]){    @autoreleasepool {        NSObject *obj = [[NSObject alloc]init];                NSArray *array = [NSArray arrayWithObjects:                                   @"a",                                    obj,                                   @"c",nil];        NSLog(@"array Count:%lu",[array count]);        //遍历数组        for (NSObject *object in array) {            NSLog(@"数组对象:%@", object);        }        [obj release];    }     return 0;}

2.NSMutableArray可变对象数组

[NSMutableArray arrayWithCapacity:6] :初始化可变数组对象的长度,如果后面代码继续添加数组超过长度6以后NSMutableArray的长度会自动扩充,6是自己可以设置的颗粒度。
[array addObject:...] : 向可变数组尾部添加数据对象。
[array addObjectsFromArray:..] :向可变数组尾部添加一个数组对象。

int main(int argc, const char * argv[]){    @autoreleasepool {        NSObject *obj = [[NSObject alloc]init];                   NSMutableArray *muArray = [NSMutableArray arrayWithCapacity:6];        [muArray addObject:@"对象1"];        [muArray addObject:@"对象2"];        [muArray addObject:@"对象3"];        [muArray addObject:@"对象4"];        [muArray insertObject:@"搅局的" atIndex:2];        [muArray addObject:obj];        for (NSObject * object in muArray) {            NSLog(@"数组对象:%@", object);        }            [obj release];    }    return 0;}

3.NSDictionary使用 

  1. //创建不可改变的词典  

  1. #import <Foundation/Foundation.h>  
  2.   
  3.   
  4. int main(int argc, const char * argv[])  
  5. {  
  6.   
  7.     @autoreleasepool {  
  8.   
  9.         //创建字典  
  10.         NSDictionary *dic1 = [NSDictionary dictionaryWithObject:@"value" forKey:@"key"];  
  11.         NSLog(@"dic1 :%@", dic1);  
  12.           
  13.           
  14.         //创建多个字典  
  15.         NSDictionary *dic2 = [NSDictionary dictionaryWithObjectsAndKeys:  
  16.                               @"value1", @"key1",  
  17.                               @"value2", @"key2",  
  18.                               @"value3", @"key3",  
  19.                               @"value4", @"key4",  
  20.                               nil];  
  21.         NSLog(@"dic2 :%@", dic2);  
  22.           
  23.           
  24.         //根据现有的字典创建字典  
  25.         NSDictionary *dic3 = [NSDictionary dictionaryWithDictionary:dic2];  
  26.         NSLog(@"dic3 :%@", dic3);  
  27.           
  28.           
  29.         //根据key获取value  
  30.         NSLog(@"key3 value :%@", [dic3 objectForKey:@"key3"]);  
  31.           
  32.         //获取字典数量  
  33.         NSLog(@"dic count :%d", dic3.count);  
  34.           
  35.         //所有的键集合  
  36.         NSArray *keys = [dic3 allKeys];  
  37.         NSLog(@"keys :%@", keys);  
  38.           
  39.         //所有值集合  
  40.         NSArray *values = [dic3 allValues];  
  41.         NSLog(@"values :%@", values);  
4.NSMutableDictionary使用  创建可变的字典

  1. NSMutableDictionary *mutableDic = [[NSMutableDictionary alloc] initWithObjectsAndKeys:  
  2.                                            @"mvalue1", @"mkey1",  
  3.                                            @"mvalue2", @"mkey2", nil];  
  4.         //添加现有的字典数据  
  5.         [mutableDic addEntriesFromDictionary:dic3];  
  6.         NSLog(@"mutableDic :%@",mutableDic);  
  7.           
  8.         //添加新的键值对象  
  9.         [mutableDic setValue:@"set1" forKey:@"setKey1"];  
  10.         NSLog(@"set value for key :%@",mutableDic);  
  11.           
  12.         //以新的字典数据覆盖旧的字典数据  
  13.         [mutableDic setDictionary:dic2];  
  14.         NSLog(@" set dictionary :%@",mutableDic);  
  15.           
  16.         //根据key删除value  
  17.         [mutableDic removeObjectForKey:@"key1"];  
  18.         NSLog(@"removeForkey :%@",mutableDic);  
  19.           
  20.         //快速遍历  
  21.         for(id key in mutableDic) {  
  22.             NSLog(@"key :%@  value :%@", key, [mutableDic objectForKey:key]);  
  23.         }  

0 0