我想要一个If
声明,让我知道我是否保存了 NSUserDefaults。
问问题
390 次
2 回答
5
关键NSUserDefaults
是它透明地为您保存数据而无需您的干预,因此您无法询问它是否保存了数据。
但是,您可以通过调用来强制它保存[[NSUserDefaults sharedUserDefaults] synchronize];
,它会返回一个BOOL
指示保存是否成功的值。此方法的文档说:
由于此方法会定期自动调用,因此仅当您无法等待自动同步(例如,如果您的应用程序即将退出)或您想要更新用户默认值时才使用此方法,即使您没有进行任何更改。
于 2010-01-08T23:18:43.580 回答
0
我认为问题是询问特定对象是否存储在用户默认值中,而不是知道数据是否已成功保存。
就其 API 而言,用户默认值只是一个字典,因此您可以尝试检索给定键的对象。如果返回的对象不是nil
,那么显然已经为该键存储了一些东西。相反,如果返回是nil
,则没有存储任何内容,您可能应该加载默认对象或执行一些其他类型的意外事件。
于 2010-01-08T23:24:55.933 回答