NSDictionary的一些方法应用

//

#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;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值