JSON 解析操作をキューに入れ、完全なデータ解析を待つ方法を見つけました。これがコードです。
- (void)LoadParse { // this method is called by a UIButton
NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:5.0];
AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
// PARSING SUCCESS CODE
NSLog(@"operation completed"); <--- END OPERATION
[self anotherMethod]; <--- CALL METHOD AFTER OPERATION IS FINISHED
}
failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON {
// PARSING FAILURE CODE
}];
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[queue addOperation:operation]; <--- START OPERATION
// I NEED TO SHOW A SORT OF INDICATOR TO ADVERT USER THAT OPERATION ARE STILL LOADING
// EXAMPLE: [DejalBezelActivityView activityViewForView:self.view withLabel:@"LOADING..."].showNetworkActivityIndicator = YES;
[queue waitUntilAllOperationsAreFinished];
}
キューは完全に機能します。アプリは解析操作の終了を待ってから、anotherMethodを呼び出します。しかし、まだ読み込み操作があるときに、ユーザーに広告を表示するために一種のactivityViewを表示する必要があります。それは正しい方法ですか?では、すべての操作が完了するまで表示するための activityView コードを配置する正しい場所、またはそのトリックを実行する別の方法はどこにあるのでしょうか? ありがとう!