Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 将数据推送到NSUserDefault后是否必须发送同步消息?_Iphone_Objective C_Nsuserdefaults_Synchronize - Fatal编程技术网

Iphone 将数据推送到NSUserDefault后是否必须发送同步消息?

Iphone 将数据推送到NSUserDefault后是否必须发送同步消息?,iphone,objective-c,nsuserdefaults,synchronize,Iphone,Objective C,Nsuserdefaults,Synchronize,只是好奇,这是强制性的。例如,在我的应用程序中,我只需从[NSUserDefaults standardUserDefaults]推送并获取信息,而无需任何“同步”呼叫。也许我遗漏了什么,但我还没有注意到任何问题:)。我知道这个调用应该在内存和磁盘上的数据之间进行同步,但为什么在我的情况下它是不可见的呢? 因为此方法会定期自动调用, 仅当无法等待自动启动时,才使用此方法 同步(例如,如果应用程序即将退出)或 如果您想更新用户默认磁盘上的内容,即使 您没有做任何更改 这不是强制性的,但是如果你更新

只是好奇,这是强制性的。例如,在我的应用程序中,我只需从[NSUserDefaults standardUserDefaults]推送并获取信息,而无需任何“同步”呼叫。也许我遗漏了什么,但我还没有注意到任何问题:)。我知道这个调用应该在内存和磁盘上的数据之间进行同步,但为什么在我的情况下它是不可见的呢?

因为此方法会定期自动调用, 仅当无法等待自动启动时,才使用此方法 同步(例如,如果应用程序即将退出)或 如果您想更新用户默认磁盘上的内容,即使 您没有做任何更改


这不是强制性的,但是如果你更新数据并且你的应用程序在之后立即被终止,你将丢失信息。

AFAIK-如果你不同步并且你的应用程序被终止(通过操作系统或调试器),你的更改将不会被持久化。对,这就是为什么我没有注意到:)。我想我将从主应用程序委托方法“applicationWillResignActive: