私はこのメソッドで予期しない動作が発生していることに気付き、誰も洞察力を持っているのだろうかと疑問に思っていました。 removeObjectForKey
と呼ぶと、実際には[setObject: obj ForKey: key]
が舞台裏で呼び出されていることに気付きました。私はこの方法を上書きしたので問題に遭遇しています(setObject forKey
)NSUserDefaults
のために。NSUserDefaults removeObjectForKey
removeObjectForKey
のドキュメントは言う:デフォルトを削除する
は同じキーが検索リストに標準のアプリケーションドメインの前に、ドメイン内に存在する場合
objectForKey:
メソッドによって返される値に影響を与えません。正確にアプリケーションドメインであり、これはsetObject
と呼ばれている理由だろうか?何
NSUserDefaults
NSDictionary
からオブジェクトを削除しようとしているので混乱しています。
私の推測では、removeObjectForKeyは 'null'でsetObjectForKeyを呼び出すだけです。 – davecom
素晴らしい呼び声!それはたくさんの意味があります。ありがとうございました! – will3321