NSArray , NSDictionary 的用法...

重点:数组中是否包含某个元素.快速创建.简化访问.

NSArray数组遍历方法:

 

int main(int argc, const char * argv[]) {

    @autoreleasepool {

       //定义一个数组

       NSArray *arr = @[@"one",@"two",@"three",@"four"];

       

       //对数组进行遍历

       

       //1) 普通的方式,通过下标访问

       for (int i=0; i<arr.count; i++) {

           NSLog(@"-> %@",arr[i]);

       }

       

       //2) 快速枚举法 for循环的增强形式

       for (NSString * str in arr) {

           NSLog(@"---> %@",str);

       }

       

       

       //3) 使用block的方式,进行访问

    //i. 空数组

       NSMutableArray *arr1 = [NSMutableArray array];

       NSLog(@"%p",arr1);

       

       //ii.创建的时候初始化一个元素

       NSMutableArray *arr2 = [NSMutableArray arrayWithObject:@"one"];

       

       //iii.创建数组的时候,初始化多个元素

       NSMutableArray *arr3 = [NSMutableArray arrayWithObjects:@"one",@"two",@3,nil];

       

       //IV. 创建一个数组,并且指定长度,

       NSMutableArray *arr4 = [NSMutableArray arrayWithCapacity:5];

       

       

       

       //2) 添加元素

       [arr1 addObject:@"fengjie"];

       

       NSLog(@"%p",arr1);

       //插入元素到指定的位置

       [arr1 insertObject:@"zbz" atIndex:0];

       

       

       //3) 删除元素

       //根据对象内容删除

       //       [arr1 removeObject:@"zbz"];

       //根据位置删除

       //       [arr1 removeObjectAtIndex:1];

       //全部删除

       [arr1 removeAllObjects];

       

       //4) 修改元素

       //two--> four

       [arr3 replaceObjectAtIndex:1 withObject:@"four"];

       //four--> five

       //更加简单地方法

       arr3[1] = @"five";

       NSLog(@"%@",arr3);

       

       //5) 查找元素

       BOOL isSearch =[arr3 containsObject:@"four"];

  NSLog(@"%d",isSearch);

       

       //6) 交换元素

       // 1  2   3   4   5

       // 5  2   3   4   1

       //temp= a[0];

       //a[0]= a[len-1];

       //a[len-1]= temp;

       NSMutableArray *arr5 =[NSMutableArray arrayWithObjects:@1,@2,@3,@4,@5nil];

       // 可以交换数组元素

       [arr5 exchangeObjectAtIndex:0 withObjectAtIndex:4];

       NSLog(@"%@",arr5);

        

    }

 //NSDictionary 不可变的,一旦创建,内容就不能添加\删除(不能改动)

       //1)创建空字典

       NSDictionary *dict1 = [NSDictionary dictionary];

       //key    value

       //zs ---> 张三

       

       //ls ---> 李四

       //mz ---> 码子

       //2)创建只有一组键值对的字典

       NSDictionary *dict2 = [NSDictionary dictionaryWithObject:@"zhangsan" forKey:@"zs"];

       

       //3)创建多组键值对的字典

       //value,key

       NSDictionary *dict3 = [NSDictionary dictionaryWithObjectsAndKeys:@"value1",@"k1",@"value2",@"k2"nil];

       

       //注意;

       // 字典的key值和value值,都必须是对象       

       //4)快速创建一个字典

       //@{,,key值:value值,,,};

       //key值不能重复:

       //如果重复了,也不会报错

       //如果重复了,最后添加的将不能够保存到字典中

       

       NSDictionary *dict4 = @{@"zs":@"zhaosi",@"zs":@"zhangsan",@"ls":@"lisi",@"bz":@"banzhang"};

       

       NSLog(@"%@",dict4); //%@格式打印字典,控制台输出一个{   }

       //5)获取字典的长度

       NSLog(@"%lu",dict4.count);

       //6)根据key值取出value

       //     zs      zhaosi

       //                                 key

       NSString *str = [dict4 objectForKey:@"zs"];

       NSLog(@"str = %@",str);

       

       //7)字典的遍历问题

       //第一步:获取所有的key

       //第二步:根据key获取value

       //       for(NSString *key in dict4){

       //           NSLog(@"key = %@,value =%@",key,[dict4 objectForKey:key]);

       //       }

       //                                         key    value       stop

       [dict4 enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {

           

           NSLog(@"%@ --> %@",key,obj);

           

       }];

NSDictionary的简写形式及文件操作

//1)用简写形式定义一个字典

    NSDictionary *dict = @{@"zbz":@"zhangbozhi",@"cgx":@"chenguanxi",@"xzmly":@"hello"};

    

    //2)用简写形式,获取key对应的value

    NSLog(@"%@",dict[@"zbz"]);

    

    //3)把字典保存到文件中

    //       BOOL isWrite = [dict writeToFile:@"/Users/zhaoxiaohu/Desktop/dict.plist"atomically:YES];

    //       if (isWrite) {

    //           NSLog(@"写入成功");

    //       }

    

    //4)从文件中读取字典

    NSDictionary *readDict = [NSDictionary dictionaryWithContentsOfFile:@"/Users/zhaoxiaohu/Desktop/dict.plist"];

    NSLog(@"readDict = %@",readDict);

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值