oc中NSUserDefaults使用问题关于NSDictionary

NSUserDefaults中只可以存储不可变数据,如果存储一个可变的数组或可变字典,取出数据时数组或字典变成不可变类型,如果在修改它们,程序就会报错,所以如果想用NSUserDefaults存储可变数据,需要在取出数据之后,把数据转变为可变类型.

//取出数据存入字典中
NSDictionary *dict = [[NSUserDefaults standardUserDefaults]objectForKey:DEVICE_PUSH_SWITCH];

//转变为可变字典
self.subDeviceSwitchDictM = [NSMutableDictionary dictionaryWithDictionary:dict];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • swift的基础语法 这样吧,先把swift4.0教材的先分享给大家。swift4和swift3的基本上没有多大的...
    请输入账号名阅读 15,731评论 12 60
  • NSUserDefaults适合存储轻量级的本地数据,一些简单的数据(NSString类型的)例如密码,网址等,N...
    XiangZiyan阅读 1,267评论 0 4
  • 1.#import 跟 #include有什么区别?@class的又有什么作用? 1)#import指令是Obje...
    ldxgxy阅读 2,173评论 0 1
  • 人生或许就这样,你永远都不知道下一秒会发生什么,但你只有去面对它,去打败他,才能得到你所要的。 毕业了,每个人都在...
    Hiiuy阅读 436评论 2 3
  • 最近几天莫名的状态不好,没去画室画画,睡醒打开电脑,习惯性的点开BBC,里面正好放着Neil Diamond 的歌...
    MissGanLove阅读 333评论 0 0