我在uitable視圖解析XML數據的時候,這裏使用dispatch_async是我的代碼:dispatch_async與XML解析器不工作
- (void) Parse{
dispatch_async(dispatch_get_global_queue(0, 0), ^{
NSString *post =[[NSString alloc] initWithFormat:@"http://messages.xml"];
NSData *xmlData=[[NSData alloc]initWithContentsOfURL:[NSURL URLWithString:post]];
xmlParserObject =[[NSXMLParser alloc]initWithData:xmlData];
[xmlParserObject setDelegate:self];
dispatch_async(dispatch_get_main_queue(), ^{
[xmlParserObject parse];
});
});
[messageList reloadData];
}
現在的UITableView不顯示任何數據。它在dispatch_async之前工作完美
你打電話'[給messageManager reloadData]'後的數據獲取情況不會發生,它的第一個發出後立即發生。請記住,當你分派時,主線程上的代碼執行會立即繼續執行下一條語句'reloadData'。 – dirkgroten