苹果的文件说
NSUserDefaults 暂时禁用突然终止,以防止在设置默认值和将包含该默认值的首选项文件写入磁盘的时间之间进程终止。
它是否也为自动终止执行此操作,或者synchronize
当我怀疑可能发生自动终止时(例如,当应用程序被隐藏时),我必须手动执行吗?
苹果的文件说
NSUserDefaults 暂时禁用突然终止,以防止在设置默认值和将包含该默认值的首选项文件写入磁盘的时间之间进程终止。
它是否也为自动终止执行此操作,或者synchronize
当我怀疑可能发生自动终止时(例如,当应用程序被隐藏时),我必须手动执行吗?
它不需要专门为自动终止做任何事情。原因是自动终止的行为与 ⌘Q 没有什么不同(即-[NSApp terminate:]
,如果未启用突然终止,则调用它),并且NSUserDefaults
已经很好地处理了 ⌘Q。
Apple 的 2011 年 WWDC 演示文稿关于自动终止(需要注册,从 34:00 左右开始)有更多信息。