我有一個類可以解析iOS中的XML文件。將C指針複製到NSMutableDictionary
您可以以TBXMLElement*
的形式獲取元素的數據。
我想遍歷XML並製作TBXMLElements
的深層副本,並將它們存儲在NSMutableDictionary
類變量中。
我怎能:
myClassDict addObject:(TBXMLElement*)element?
我有一個類可以解析iOS中的XML文件。將C指針複製到NSMutableDictionary
您可以以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];
像說的意見,你將不得不在NSObject
子類來包裝TBXMLElement*
。大概是這樣的:
@interface MyXMLElement {
TBXMLElement* _xmlElement;
}
-(void)setXMElement:(TBXMLelement*)element;
@end
然後,您可以填充元素:
MyXMLElement *elmt = [[MyXMLElement alloc] init];
[emlt setXMLElement:pointerToTBXMLElement];
[someArray addObject:elmt];
您必須創建一個包裝類,它是NSObject的一個子類。 –