我从表视图中将nsdata提供给xmlparser。解析完成后,我想根据解析结果在表上设置状态。我做了以下事情:
-(BOOL)getTheServerStatus:(NSData *)webData
{
if (webData==NULL)
{
return FALSE;
}
parser=[[NSXMLParser alloc]initWithData:webData];
parser.delegate=self;
[parser parse];
if([strVal isEqualToString:@"ok"])
{
return TRUE;
}
else
{
return FALSE;
}
}
但是我的控件在解析完成之前返回,所以我在表格端得到NULL。有没有办法等到所有解析完成而不阻塞主线程?
答案 0 :(得分:0)
如果您在班级中使用NSXMLParser委托,可以通过以下委托方法找到它
//This method is called when the XML document has finished parsing, do a [self.tableView reloadData]; here
- (void)parserDidEndDocument:(NSXMLParser *)parser
{
}
答案 1 :(得分:0)
为NSXMLParser类的父编写一个delegete,以便在解析完成时通知。
通知解析完成- (void)parserDidEndDocument:(NSXMLParser *)parser
在该方法中,调用delgate到父类infonrming解析完成
快乐编码:)
答案 2 :(得分:-1)
使用
- (void)parserDidEndDocument:(NSXMLParser *)parser
委托方法。