0

すべてのキー/値を調べずに、辞書の内容が変更されたかどうかを確認したいと思います。背景は、NSUserDefaultsDidChangeNotificationにアクセスする追加のライブラリが原因で、私のアプリが頻繁に受信していることNSUserDefaultsです。私自身のデフォルトは、デフォルト内の 1 つの辞書に格納されています。

起動時に userdefaults からの値は読み取られますが、ローカルに保存されないため、比較できません。私が考えていたのは、起動時にすべての値に対してハッシュ値を生成し、その値をどこかに保存し、通知を受け取るたびにハッシュ値を再度生成し、通知を内部的に配布する前に保存された値と比較することです。

しかし、もっと簡単な方法があるかもしれません?!

4

1 に答える 1

1

それが最も簡単な方法のように聞こえます。より長い方法NSMutableSetは、元の値のを作成してNSMutableSetから、変更された値の を作成することです。 NSSetminusSet:メソッドは、デルタを提供します。しかし、それは単に辞書を列挙するよりもはるかに重労働のように思えます...

于 2012-09-12T07:22:11.583 に答える