1

次のチュートリアルの後、値と対応する「キー」が設定されている場所を調べました。

[aBook setValue:currentElementValue forKey:elementName];

これに関する私の 1 つの問題は、このメソッドが NSArray ではなく辞書用であることです。

4

1 に答える 1

1

このメソッドは、 Key Value CodingsetValue:forKey:をサポートするすべてのものに適用されます。文字列で識別されるプロパティの値を設定できます。この特定のケースでは、文字列はパーサーが処理を終了した XML 要素の名前から取得され、値は対応する要素のテキストから取得されます。

KVC トリックを使用すると、XML パーサーを使用して、オブジェクトのプロパティやメソッドの名前をハードコーディングせずにオブジェクトの値を設定できます。たとえば、次のような XML のフラグメントがあるとします。

<book>
    <author>Kernighan and Ritchie</author>
    <title>The C Programming Language</title>
</book>

およびプロパティとを持つ KVC 準拠Bookのクラスの場合、パーサーは、XML の構造やクラスの構造について何も知らなくても、XML を処理し、プロパティの値を設定できます。NSString*authortitleBook

于 2012-07-06T14:09:45.010 に答える