-1

我将 nsdata 从 tableview 提供给 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。有没有办法等到所有解析完成而不阻塞主线程?

4

3 回答 3

0

如果你在你的类中使用 NSXMLParserDelegate 你可以通过下面的委托方法找到它

//This method is called when the XML document has finished parsing, do a [self.tableView reloadData]; here
    - (void)parserDidEndDocument:(NSXMLParser *)parser
    {

    }
于 2012-08-18T07:05:45.113 回答
0

为 NSXMLParser 类的父类编写一个委托,以在解析完成时发出通知。
解析完成由

- (void)parserDidEndDocument:(NSXMLParser *)parser

在该方法中调用父类的委托,通知解析完成。

于 2012-08-18T08:24:38.657 回答
-1

使用

- (void)parserDidEndDocument:(NSXMLParser *)parser

委托方法。

于 2012-08-18T07:05:26.080 回答