0

私のアプリは、さまざまな時点で特定の単語の単数形と複数形の間で変換する必要があります。したがって、キーが単数形で、値が複数形である辞書があります。

必要に応じてこの辞書を再初期化するのが最善の方法だと思います。私が見ているように、私には2つの選択肢があります。

  1. このデータをplistに保存し、plistから辞書を再初期化します
  2. 値がメソッドで設定される単一のNSDictionaryプロパティを持つだけのNSDictionaryのラッパーオブジェクトを作成しますinit

私の推測では、#2の方が高速ですが、あまりエレガントではありません。最終的に、NSDictionaryをサブクラス化することは正しいアプローチのように思えますが、NSDictionaryが実際にはクラスクラスターであることがわかったら、そうしないことを選択しました。

4

2 に答える 2

1

辞書は非常に大きくなりますか?もしそうなら、アプリがアクティブ化されたときにインスタンス変数として初期化し、リリースしないのはなぜですか。また、私はあなたの2番目のオプションとあなたのコメントに混乱しています。オプションで、NSDictionaryのラッパーオブジェクトを作成すると述べましたが、それをサブクラス化すると述べました。混乱しただけなのかどうかはわかりませんが、2番目のオプション(1つのNSDictionaryでラッパーオブジェクトを作成し、initの値を初期化することによる)も私には実行可能のようです。最終的には、アプリのパフォーマンスにあまり影響を与えない限り、どのオプションでも問題ありません。

于 2012-07-22T01:32:18.270 に答える
0

NSKeyedArchiverを使用してシリアル化/ディスクに保存し、NSKeyedUnarchiverを使用して読み戻すことができます。

于 2012-07-22T02:03:19.890 に答える