English 中文(简体)
How do I tell if NSUserDefaults is already saved?
原标题:

I want to have an If statement that allows me to tell whether I have an NSUserDefaults saved or not.

最佳回答

I think the question is asking whether or not a particular object is stored in the user defaults, rather than knowing whether or not data was successfully saved.

The user defaults is simply a dictionary, in terms of it s API, so you can attempt to retrieve an object for a given key. If the object returned is not nil, then something has obviously been stored for that key. Conversely, if the the return is nil, then nothing has been stored and you should probably load a default object or carry out some other kind of contingency.

问题回答

The point of NSUserDefaults is that it transparently saves your data for you without your intervention, so you can t ask it whether it has saved the data or not.

However, you can force it to save by calling [[NSUserDefaults sharedUserDefaults] synchronize];, which returns a BOOL indicating whether or not the save was successful. The documentation for this method says:

Because this method is automatically invoked at periodic intervals, use this method only if you cannot wait for the automatic synchronization (for example, if your application is about to exit) or if you want to update the user defaults to what is on disk even though you have not made any changes.





相关问题
Code sign Error

I have created a new iPhone application.I have two mach machines. I have created the certificate for running application in iPhone in one mac. Can I use the other mac for running the application in ...

ABPersonViewController Usage for displaying contact

Created a View based Project and added a contact to the AddressBook using ABAddressBookRef,ABRecordRef now i wanted to display the added contact ABPersonViewController is the method but how to use in ...

将音频Clips从Peter改为服务器

我不禁要问,那里是否有任何实例表明从Peit向服务器发送音响。 I m不关心电话或SIP风格的解决办法,只是一个简单的袖珍流程......

• 如何将搜查线重新定位?

我正试图把图像放在搜索条左边。 但是,问题始于这里,搜索条线不能重新布署。

热门标签