2016-08-09 6 views
0

ユーザーのデフォルトでキーにnilを設定すると、キーも削除されます。オブジェクトを削除してもそのまま保持する場合はどうなりますか?どうやってするか。どんな助けにも感謝します。 ありがとうiOS NSUserDefaultsキーのオブジェクトは削除されますが、キーは削除されません

+0

配列または辞書オブジェクトまたはカスタムオブジェクトを保存していますか? –

+0

そのキーのデフォルト値を 'NSUserDefaults'に登録して、そのデフォルト値に戻します。 – vadian

+0

キーを削除して読み込み中にそれを処理すると何が問題になりますか? – Droppy

答えて

-1

このキーには[NSNull null]を設定してください。

[[NSUserDefaults standardUserDefaults] setObject:[NSNull null] forKey:@"key"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 
+0

これは、NSNullがNSUserDefaultsによってサポートされていないため、クラッシュします。 – gnasher729

0

NSUserDefaultsはNSNullをサポートしていません。だから、あなたは「データなし」を表現したいと思っている値を見つけてそれを設定しなければならないでしょう。たとえば、空の文字列、空の配列、空の辞書などです。 nilの結果(デフォルトは設定されていません)、マーカー値(値はあなたが設定したものの、何も意味していないことを示す)、または通常の値を区別できます。

+0

まだ読んでいる間にそれを削除して管理できない理由はまだ分かりません... – Droppy

関連する問題