我自己的一个类 A,实现了 encodeWithCoder
以及 initWithCoder
,通过 NSKeyedArchiver
实现存储实例对象 a 的功能。
当我要用 e 更新 a 时,我从一个 key 中取出所有的对象(abcd,其实就是个数组)。
如何判断从 NSUserDefaults 取出来的 f (内存地址已经改变,不再是当初那个 a,但内容和 a 一致)就是我要想更新的 a ?
我是给 class A 实现了一个方法 isEqualToA
,比较所有属性的内容,property 是 NSString 的就用 isEqualToString
来比较,是 int 就判断是否相等。感觉这么做比较笨,听听大家的高见。
1
xhacker 2015-08-08 17:04:10 +08:00
其实不该把 NSUserDefaults 当数据库用。
|
2
SeanChense OP @xhacker 是的😄,一开始就注定了不优雅。
|