NSUserDefaults removeObjectForKey

时间:2016-04-09 16:03:31

标签: ios objective-c nsuserdefaults

我注意到这种方法出现了一些意想不到的行为,并且想知道是否有人有任何见解。当我拨打removeObjectForKey时,我注意到[setObject: obj ForKey: key]实际上是在幕后调用的。我遇到了问题,因为我已为(setObject forKey覆盖此方法NSUserDefaults)。

removeObjectForKey的文档说:

  

如果在搜索列表中标准应用程序域之前的域中存在相同的密钥,则删除默认值对objectForKey:方法返回的值没有影响。

应用程序域究竟是什么,这可能是调用setObject的原因吗?我很困惑,因为我试图从NSUserDefaults NSDictionary中移除,而不是设置对象。

1 个答案:

答案 0 :(得分:2)

我不会覆盖var str = '"' + arr.join('", "') + '"'; // "Red", "Blue", "Green" 的{​​{1}}。似乎是一个非常糟糕的主意。对于它的价值,setObject:forKey可能被调用nil值来删除密钥。