我使用 TBXML 将一些数据解析为 NSMutableArray,我的应用程序中断,我不明白为什么。
NSMutableArray *shareArray;
@implementation RecordParser
-(void)addToArray:(NSArray *)addArray {
shareArray=[[NSMutableArray alloc]init];
[shareArray addObject:addArray];
}
- (void)traverseXMLElement:(TBXMLElement *)element {
do {
if (element->firstChild)
[self traverseXMLElement:element->firstChild];
if ([[TBXML elementName:element] isEqualToString:@"element"]) {
TBXMLElement *id = [TBXML childElementNamed:@"id" parentElement:element];
TBXMLElement *path = [TBXML childElementNamed:@"path" parentElement:element];
TBXMLElement *share_type = [TBXML childElementNamed:@"share_type" parentElement:element];
TBXMLElement *token = [TBXML childElementNamed:@"token" parentElement:element];
[self addToArray:[NSArray arrayWithObjects:
[TBXML textForElement:id],
[TBXML textForElement:path],
[TBXML textForElement:share_type],
[TBXML textForElement:token], nil]];
}
} while ((element = element->nextSibling));
}
断点就在这[self addToArray:[NSArray arrayWithObjects:...
条线上。
非常感谢任何帮助!
编辑:
正如下面评论中所建议的,我的一个元素返回 nil。
我遇到了一个新问题,只有最后一个值添加到数组中,但那是因为我shareArray=[[NSMutableArray alloc]init];
每次添加一个对象。