NSUserDefaults是否安全地处理自动终止?

时间:2013-03-04 23:59:35

标签: macos nsuserdefaults

Apple的文档说

  

NSUserDefaults暂时禁用突然终止,以防止在设置默认值的时间与包含该默认值的首选项文件写入磁盘的时间之间发生进程终止。

它是否也用于自动终止,或者当我怀疑可能发生自动终止时(例如,当应用程序被隐藏时),我必须手动synchronize吗?

1 个答案:

答案 0 :(得分:1)

它不需要专门为自动终止做任何事情。原因是自动终止的行为与⌘Q不同(如果未启用突然终止,则调用-[NSApp terminate:]),并且NSUserDefaults已经处理⌘Q就好了。

Apple's 2011 WWDC presentation on automatic termination(需要注册,从34:00开始)有更多信息。