я использую 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
[messageList reloadData]
не после получения данных, это происходит сразу после первой отправки. Помните, что при диспетчеризации выполнение кода в основном потоке немедленно продолжается со следующего оператора, которым являетсяreloadData
. - person dirkgroten   schedule 29.04.2016