2010-01-08 116 views

回答

0

我想问的是询问某个特定的对象是否存储在用户的默认值中,而不知道数据是否成功保存。

用户的默认值只是一个词典,就其API而言,因此您可以尝试检索给定键的对象。如果返回的对象不是nil,那么显然已经为该密钥存储了一些内容。相反,如果回报为nil,则不存储任何内容,您应该加载默认对象或执行其他类型的意外事件。

5

NSUserDefaults的要点是它可以透明地保存您的数据给您,无需您的干预,因此您无法问它是否保存了数据。

但是,您可以通过调用[[NSUserDefaults sharedUserDefaults] synchronize];来强制它保存,它将返回BOOL,指示保存是否成功。此方法的文档说:

由于此方法是自动 每隔一段时间调用,使用 此方法只如果你不能等待 的自动同步(用于 例如,如果你的应用程序即将 到退出),或者如果您想更新 用户,则默认为磁盘上的内容,即使您没有进行任何更改,即使是 也是如此。

相关问题