2012-04-19 23 views
1

NSUserDefaultsは永続的ですか?アプリケーションを閉じると、それはまだそこにあります。だからそれはIOだ。NSUserDefaultsは実行時に常にIOを実行しますか?

それは、我々はIOを行う

– setObject:forKey:を行う毎回を意味していますか?

んiPhoneが読み込まれ、ディスクたびに書き込みます我々行う

[[NSUserDefaults standardUserDefaults] setObject:trimmedSearchLocation forKey:SEARCHNEAR]; 

またはそういったことdocsから

答えて

3

は、実行時には、あなたがNSUserDefaultsオブジェクトを使用アプリケーションがユーザーのデフォルトデータベースから使用する既定値を読み取ります。 NSUserDefaultsは、デフォルト値が必要になるたびにユーザーのデフォルトデータベースを開く必要がないように、情報をキャッシュします。定期的な間隔で自動的に呼び出されるsynchronizeメソッドは、インメモリ・キャッシュをユーザーのデフォルト・データベースと同期させて保持します。

synchronizeがあなたのディスク上にIOを持っている場合のみです!

+1

+1もう1つの答えと同じです –

1

システムは定期的に設定を同期します。あなたはめったにそれらを明示的に同期させる必要はありません。