NSUserDefault、NSMutableDictionary的setValue和setObject区别

NSDictionary:        setValue: forKey:@""

NSMutableDictionary: setObject: forKey:@""   value是不能够为nil的,不然会报错。
                                             setObject:forKey:的key可以是任何类型
                     setValue: forKey:@""    value能够为nil,但是当value为nil的时候,会自动调用removeObject:forKey方法
                                             setValue:forKey:中key的参数只能够是NSString类型

                                             另外这两个方法 set动态数组是没有问题的,但会变成不可变的
NSUserDefault:      setObject: forKey:@""
                     setValue: forKey:@""

//问题可以从NSUserDefault中取出可变字典吗?不可以,即使存储上去也会变成不可变的
//1.存储类型:
//NSUserDefaults支持的数据类型有:NSNumber(NSInteger、float、double),NSString,NSDate,NSArray,NSDictionary,BOOL。
//2.NSUserDefaults不能存储可变类型(如:NSMutableArray、NSMutableDictionary)

 

转载于:https://www.cnblogs.com/imChay/p/5583449.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值