在开发过程中,可能需要将一个可变数组持久化存储在本地,用到NSUserDefault存储,但是要注意的是,取出该数组后,该数组变成了不可变数组,对其进行修改时容易引发崩溃。故应该将取出的数组转为可变数组后再去进行操作。
总结:NSUserDefaults 存储的对象全是不可变的(这一点非常关键,弄错的话程序会出bug),即存进NSUserDefaults的对象会变成不可变的,同样取出来的对象肯定是不可变的。
在开发过程中,可能需要将一个可变数组持久化存储在本地,用到NSUserDefault存储,但是要注意的是,取出该数组后,该数组变成了不可变数组,对其进行修改时容易引发崩溃。故应该将取出的数组转为可变数组后再去进行操作。
总结:NSUserDefaults 存储的对象全是不可变的(这一点非常关键,弄错的话程序会出bug),即存进NSUserDefaults的对象会变成不可变的,同样取出来的对象肯定是不可变的。
本文标题:iOS 中 关于 NSUserDefault中存储可变数组的问题
本文链接:https://www.haomeiwen.com/subject/cijdurtx.html
网友评论