访问 NSUserDefaults 中存储的数据是一个昂贵的操作吗?

Jor*_*n H 0 cocoa-touch nsuserdefaults ios

我想知道访问存储在NSUserDefaults. 这是否比访问一次并将其存储在属性中,然后通过从属性获取它而不是再次获取它来在将来使用它要慢得多NSUserDefaults?或者差异非常微不足道?我知道文档状态NSUserDefaults已缓存。

答案可能取决于您计划获取它的频率。假设每分钟需要 20 次。我不会以编程方式更改它,只会获取当前值。

我很好奇,因为总是获取它的好处之一是你可以保证那是当前值。如果您获取一次并存储它,您需要监听更改,NSUserDefaults然后通过获取它来更新存储的值。

tba*_*nes 6

\n

在运行时,您使用 NSUserDefaults 对象从 user\xe2\x80\x99s 默认数据库中读取应用程序使用的默认值。NSUserDefaults\n 会缓存信息,以避免每次需要默认值时都必须打开 user\xe2\x80\x99s defaults\n 数据库。定期自动调用的同步方法使内存缓存与用户 xe2x80x99s 默认数据库保持同步。

\n
\n\n

按照文档,当您不使用该synchronize方法时,从中获取值NSUserDefault不应是一项昂贵的操作。因此,虽然您只获取值而不设置它,但您的操作不会比直接从属性访问更昂贵。

\n