iOS每个应用包有一个plist文件,方便存储用户的偏好设置。
可通过NSUserDefaults类访问该plist文件。
可创建setting-bundle设置束,设置应用中注册用户的偏好设置列表,用户可以自行修改其设置。
其使用objectForKey:和setObject:ForKey:来存取数据。
存数据到plist文件,必须是plist文件可以存储的类型:NSArray、NSDictionary、NSString、NSData、NSDate、NSNumber,如果是plist不支持的类型,可以先归档为NSData类型,再存入plist文件。
如果使用objectForKey:获取一项没有值的用户偏好设置,NSUserDefaults会返回该项的出厂设置,也称为默认设置。这类设置并没有储存在plist文件中,需要每次启动应用时用NSUserDefault注册。为了防止访问NSUserDefaults注册好出厂设置,可在应用程序委托中覆盖类方法initialize,如下:
恢复出厂设置通过NSUserDefaults对象存取数据时,使用健必须时NSString对象。通常情况下,,可以将键定义成静态变量(1.方便修改,2.可以避免输入变量名错误)
NSUserDefaults大部键都是NSGlobalDomain。NSGlobalDomain保存整个设备的用户偏好设置(语言、地区)。取键的值的顺序:先应用域(application domain)----> 后注册域(registraiion domain)
用户偏好设置过多,考虑增加一个“还原默认设置”的按钮。
另外还有设置束,没有多去探究,只是看了下。
网友评论