2013-01-24 79 views
0

我有一個類可以解析iOS中的XML文件。將C指針複製到NSMutableDictionary

您可以以TBXMLElement*的形式獲取元素的數據。

我想遍歷XML並製作TBXMLElements的深層副本,並將它們存儲在NSMutableDictionary類變量中。

我怎能:

myClassDict addObject:(TBXMLElement*)element?

+0

您必須創建一個包裝類,它是NSObject的一個子類。 –

回答

2

你可以把指針在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]; 
0

像說的意見,你將不得不在NSObject子類來包裝TBXMLElement*。大概是這樣的:

@interface MyXMLElement { 
TBXMLElement* _xmlElement; 
} 

-(void)setXMElement:(TBXMLelement*)element; 

@end 

然後,您可以填充元素:

MyXMLElement *elmt = [[MyXMLElement alloc] init]; 

[emlt setXMLElement:pointerToTBXMLElement]; 

[someArray addObject:elmt];