5

単純な iPhone アプリケーションを開始したとき、XML の抜粋のキーと値のペアを NSDictionary に変換する単純なアプローチがありました。問題は、動作と追加の複雑さが必要になるため、UITableView に一度入力した NSDictionary のインスタンスをカスタム クラスに変換する必要があることです。ここでの問題は、オブジェクトをインスタンス化し、そのインスタンス変数に Web サービスからのキーと値のペアを入力するのが非常に難しくなっていることです。XML を反復処理し、KVC を使用してそのインスタンス変数を設定するメソッドにそれをスローすることはできなくなりました。

他にどのような解決策がありますか?

4

2 に答える 2

8

変数に適切な名前を付けている限り、カスタムクラスでキー値コーディングメソッドを使用できます。違いはありません。そうは言っても、XMLを使用しているときは、通常、各ノード名をテストしたり、キールックアップテーブルを作成したりします。これは、使用しているデータソースの名前がキー値コーディングに準拠していないためです。ただし、データソースを制御できる場合は、引き続き使用できますsetValue:forKey:

まだ読んでいない場合は、KeyValueコーディングについてこのガイドを読むことをお勧めします。これは、Cocoaの多くの優れたツールの基本です。

于 2008-12-18T20:46:20.403 に答える
1

NSCoding を調べます。NSCoding プロトコルを使用して、オブジェクト、プロパティ、およびすべてをデータとして保存できます。

オブジェクトが NSCoding に準拠したら、NSKeyedArchiver を使用してオブジェクトの配列全体をアーカイブできます。

多数のオブジェクトがある場合、ロードおよび保存中に iPhone でのアプリのパフォーマンスに劇的な影響を与える可能性があることに注意してください。

于 2008-12-18T20:29:51.140 に答える