나는 다른 스레드의 모든 데이터는, 내가 메인 스레드를 다시 반환 할 finshied 구문 분석 후 다른 스레드에서 일부 데이터 (안 메인 스레드)다른 스레드의 작업이 완료된 시점을 파악하는 방법?
for (NSString* theKey in [rssSourcesData allKeys])
{
NSURL *url = [NSURL URLWithString:theKey];
NSURLRequest *initialRequest = [NSURLRequest requestWithURL:url];
AFGDataXMLRequestOperation *oper = [AFGDataXMLRequestOperation
XMLDocumentRequestOperationWithRequest:initialRequest
success:^(NSURLRequest *request, NSHTTPURLResponse *response, GDataXMLDocument *XMLDocument) {
[self parseDataInBackground:XMLDocument forKey:theKey];
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, GDataXMLDocument *XMLDocument) {
NSLog(@"failure handler: %@",theKey);
}];
[oper start];
}
을 구문 분석합니다. 그렇게하는 방법 ?
코드에서 블록을 사용하여 앱을 주 스레드로 강제로 되돌릴 수 있습니다. 또는 parseDataInBackground가 완료되면 리스너를 추가하고 NSNotification을 게시하여 리스너가 이후에 코드를 실행할 수 있도록 할 수 있습니다. 이 링크는 이해하는데 도움이 될 수 있습니다 : http://stackoverflow.com/questions/10492138/ios-what-is-the-equivalent-of-an-event-listener-in-objective-c – faterpig