我在我的应用的静态初始化程序中调用了registerDefaults
,如下所示:
[[NSUserDefaults standardUserDefaults] registerDefaults:@{
StringKey: @"A Value"
,IntKey: @123
//,NilDefaultKey: nil
}];
有问题的密钥指向一个NSData
值,我特别在不存在时处理该值。在第一次设置之后,其他用于检索该键值的调用仍然返回nil,直到我重新启动我的应用程序。
注册默认值应为nil
的正确方法是什么?我尝试使用[NSNull null]
,但收到错误Attempt to insert non-property list object null for key NilDefaultKey
,所以我知道不是。
我应该创建自己的占位符值并检查它而不是null吗?这似乎不必要地复杂化了。