次のチュートリアルの後、値と対応する「キー」が設定されている場所を調べました。
[aBook setValue:currentElementValue forKey:elementName];
これに関する私の 1 つの問題は、このメソッドが NSArray ではなく辞書用であることです。
次のチュートリアルの後、値と対応する「キー」が設定されている場所を調べました。
[aBook setValue:currentElementValue forKey:elementName];
これに関する私の 1 つの問題は、このメソッドが NSArray ではなく辞書用であることです。
このメソッドは、 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*
author
title
Book