Tha*_*nks 2 iphone cocoa-touch nsuserdefaults uikit
我希望用户能够做出一些偏好,如颜色,首选图像等.当我使用NSUserDefaults时,首次启动应用程序时将没有首选项,对吧?所以,每次我想获得喜欢的偏好
NSInteger avatarID =(NSInteger)[[NSUserDefaults standardUserDefaults] objectForKey:@"avatar"];
我必须检查它是否为null,然后使用我的系统首选项.但后来我在文档中看到了这一点:+ resetStandardUserDefaults
在某处保存了两个默认分支吗?来自用户的那些,以及来自开发者的那些?
是的,但它与你正在做的有点不同.NSUserDefaults具有该registerDefaults
方法,该方法允许您使用您提供的值填充NSDictionary中的"空白"默认值.把它放在app控制器的+ initialize方法中,你就会知道默认值是合理的.如果默认对象的用户找到你的当前应用程序启动时设置或从磁盘加载一个"真正"的键值,无论是一个,它总是会先例你提供了什么了registerDefaults
.resetStandardUserDefaults
将从内存中删除共享用户默认值对象并撤消您对其所做的任何自定义,这不是您需要提供默认值的东西.
此外,请记住,你不能只是对象转换原始NSInteger的值,你在做什么,你会刚刚结束与代表对象的指针的存储位置的编号.要么使用NSUserDefault integerForKey:
直接获取原语,要么使用objectForKey:
获取NSNumber并使用它integerValue
来获取原始值.
归档时间: |
|
查看次数: |
3877 次 |
最近记录: |