iOS で XML ファイルを解析するクラスがあります。
の形式で要素のデータを取得できますTBXMLElement*
。
XML を繰り返し処理し、詳細なコピーを作成してクラス変数TBXMLElements
に格納したいと考えています。NSMutableDictionary
どうやって:
myClassDict addObject:(TBXMLElement*)element?
ポインターを NSValue に入れることができます。どのキーを使用しますか?
// Save the TBXMLElement*
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
[dict setValue:[NSValue valueWithPointer:element] forKey:@"whatKey"];
…
// Get the TBXMLElement*
TBXMLElement *el = (TBXMLElement *)[[dict valueForKey:@"whatKey"] pointerValue];
コメントで述べたようにTBXMLElement*
、のサブクラスでラップする必要がありNSObject
ます。おそらく次のようなものです:
@interface MyXMLElement {
TBXMLElement* _xmlElement;
}
-(void)setXMElement:(TBXMLelement*)element;
@end
次に、要素を設定できます。
MyXMLElement *elmt = [[MyXMLElement alloc] init];
[emlt setXMLElement:pointerToTBXMLElement];
[someArray addObject:elmt];