美文网首页
SetValue与SetObject

SetValue与SetObject

作者: 再见远洋 | 来源:发表于2016-08-04 15:30 被阅读30次

    最近有人问我setValue和setObject有什么区别,当时我就懵逼了,然后就开始谷歌,再此记录下:

        NSMutableDictionary * dictM = [NSMutableDictionary dictionary];
        /**
         *  1.区别1就是value能否为nil
         */
        //使用setObject的方式 如果value为nil就会产生崩溃
        //[dictM setObject:nil forKey:@"key"];
        
        //如果使用setValue是不会报错的  且当value 为nil的时候自动调用removeObject forKey方法
        [dictM setValue:nil forKey:@"key"];
        
    
        /**
         *  2.区别2是key是否可以为多种类型
         */
        //可以看到如果使用setObject方式 key值可以使任意类型
        [dictM setObject:@"name" forKey:@(10)];
    
        //可以看到使用setValue的方式 key 职能是字符串 如果是其他类型就会警告 且取不出来值
        //[dictM setValue:@"name" forKey:@(10)];
        NSLog(@"%@",dictM[@(10)]);
        [NSDictionary description];
    

    代码里都写的很清楚了,其实自己运行一次就知道了,这样也能够记忆更加深刻

    相关文章

      网友评论

          本文标题:SetValue与SetObject

          本文链接:https://www.haomeiwen.com/subject/qxgcsttx.html