Appleのドキュメントによると
NSUserDefaults は、デフォルトが設定されてからそのデフォルトを含む設定ファイルがディスクに書き込まれるまでの間にプロセスが強制終了されるのを防ぐために、突然の終了を一時的に無効にします。
自動終了のためにもこれを行いますか、またはsynchronize
自動終了が発生する可能性があると思われる場合 (アプリケーションが非表示になる場合など) は手動で行う必要がありますか?
Appleのドキュメントによると
NSUserDefaults は、デフォルトが設定されてからそのデフォルトを含む設定ファイルがディスクに書き込まれるまでの間にプロセスが強制終了されるのを防ぐために、突然の終了を一時的に無効にします。
自動終了のためにもこれを行いますか、またはsynchronize
自動終了が発生する可能性があると思われる場合 (アプリケーションが非表示になる場合など) は手動で行う必要がありますか?
自動終了のために特に何もする必要はありません。その理由は、自動終了が ⌘Q と異なる動作をせず (つまり-[NSApp terminate:]
、突然の終了が有効になっていない場合に呼び出される)、NSUserDefaults
すでに ⌘Q を問題なく処理しているためです。
自動終了に関する Apple の 2011 WWDC プレゼンテーション(登録が必要、34:00 頃から開始) に詳しい情報があります。