NSUserDefaults 是持久的,对吗?如果我们关闭应用程序,它仍然存在。所以是IO。
这是否意味着我们每次做
– setObject:forKey:
我们做IO?
每次我们这样做时,iPhone都会读写磁盘吗
[[NSUserDefaults standardUserDefaults] setObject:trimmedSearchLocation forKey:SEARCHNEAR];
或者那种东西
NSUserDefaults 是持久的,对吗?如果我们关闭应用程序,它仍然存在。所以是IO。
这是否意味着我们每次做
– setObject:forKey:
我们做IO?
每次我们这样做时,iPhone都会读写磁盘吗
[[NSUserDefaults standardUserDefaults] setObject:trimmedSearchLocation forKey:SEARCHNEAR];
或者那种东西
从文档:
在运行时,您使用 NSUserDefaults 对象从用户的默认数据库中读取应用程序使用的默认值。NSUserDefaults 缓存信息以避免每次需要默认值时都必须打开用户的默认数据库。同步方法会定期自动调用,它使内存中的缓存与用户的默认数据库保持同步。
所以只有当synchronize
调用你的磁盘上有 IO 时!
系统会定期同步设置。您很少需要明确同步它们。