关闭

NSDictionary的一些方法应用

标签: xwj原创
74人阅读 评论(0) 收藏 举报
分类:

//

#import <Foundation/Foundation.h>


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

    @autoreleasepool {

        /*

      首先,NSDictionary 数组,是以键值对的形式存储数据的往其中存储数据是可以的,但是必须要为存储的数据取 1 个别名,通过这个别名来找到存储在这个数组中的数据.

      NSDictionary 字典数组一旦创建完毕其键值对的个数就固定.并且无法删除、新增键值对*/

 // 创建一个空的字典,这个是没有意义的,因为无法动态的新增删除

        NSDictionary *xwj = [NSDictionary dictionaryWithObjectsAndKeys:@"obj",@"name",@"3",@"index", nil];

        

 // 快速创建字典的方法

        NSDictionary *xwj1 = @{@"key":@"value1",@"key1":@"value2"};

        NSLog(@"%@",xwj1);

        

// 得到字典中的个数

//        @protocol(readonly)NSUInteger count; // 这个是只读的.

      NSUInteger num =   xwj1.count;

// 得到字典数组中键对应的值.

        

        NSDictionary *xwj2 = @{@"name":@"xieXiaoCai",@"age":@"25"};

            NSString *str = [xwj2 objectForKey:@"name"];

        

        NSString *age = xwj2[@"age"];

        // 如果给的键不存在,根据哈希算法取出来的是nil不会报错的

        // NSDictionary的遍历

        // 使用for in 遍历

        for(id key in xwj2)

        {

            NSLog(@"%@,%@",key,[xwj2 objectForKey:key]);

        }

        /*

         增强for循环遍历字典数组,遍历出来的仅仅是字典数组中的所有的键,拿到键以后,我们可以根据取到的键对应的值.key是迭代数组中每一个键,通过键取到相对应得值.

         */

        

    // 遍历字典之blick

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

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

            // 同样的原理key 遍历出来的键值对的键

            // obj代表遍历出来的键值对的值

        }];

        

        

        // 关于可变字典数字的介绍

        // 创建可变字典数组

        // 这个就是创建了一个可变数组,因为是可变的所以可以动态的新增和删除.

       NSMutableDictionary *xwj3 =  [NSMutableDictionary dictionary];

        // 如何新增键值对?

        [xwj3 setObject:@"name" forKey:@"xwjs"];

        // 如何删除键值对?

        [xwj3 removeObjectForKey:@"name"];

        // 删除所有的键值对

        [xwj3 removeAllObjects];

        // 快速创建一个可变的字符串

        NSMutableDictionary *xwj4 = @{@"name":@"xwj",@"age":@"26",@"height":@"180"};

        

        // 快速迭代

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

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

        }];

        

        

        // 以上这些就是字典的粗浅的应用,时间仓促,比较晚了,改天在写吧

        

    }

    return 0;

}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:371次
    • 积分:61
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档