IOS 数据存储——用户默认设置 NSUserDefaults

用户默认设置NSUserDefaults

NSUserDefaults类提供了一个与默认系统进行交互的编程接口。NSUserDefaults对象是用来保存、恢复应用程序相关的偏好设置、配置数据等等。默认系统允许应用程序自定义它的行为去迎合用户的喜好。你可以在程序运行的时候从用户默认的数据库中读取程序的设置。同时,NSUserDefaults的缓存避免了在每次读取数据时候都打开用户默认数据库的操作。可以通过调用synchronize方法来使内存中的缓存与用户默认系统进行同步。NSUserDefaults类提供了非常方便的方法来读写常用的类型。方法是指定要写入的数据类型以及以后用于访问该数据的,有6个写入方法可供调用:setBool:forKeysetFloat:forKeysetInteger:forKeysetObject:forKeysetDouble:forKeysetURL:forKey,具体使用哪个方法取决于要存储的数据类型。其中,方法setObject:forKey用于存储NSStringNSDateNSArryNSDictionary等等对象类型。

NSUserDefaults是单例,同时也是线程安全的。

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];

[userDefaults setBool:self.toggleSwitch.on forKey:kOnOffToggle];

[userDefaults setFloat:self.brightnessSlider.value forKey:kBrightnessLevel];


上述代码将数据写入默认设置数据库时,并不一定会立即保存这些数据。还需要

进一步调用 synchronize 方法确保所有数据都及时写入:

[userDefaultssynchronize];

要将这些数据读入 App 中,可根据键值和返回类型,调用相应的方法。根据要

读取的数据类型,可选择 arrayForKeyboolForKeydateforKey

dictionaryForKeyfloatForKeyintegerForKeyobjectForKey

doubleForKeyURLForKey等等方法。

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];

self.brightnessSlider.value = [userDefaults floatForKey:kBrightnessLevel];

self.toggleSwitch.on = [userDefaults boolForKey:kOnOffToggle];


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值