Core Data でリモート データベースを使用しています。次のフェッチ リクエストを実行すると、インターネット接続によっては時間がかかる場合があります。これら 2 つのリクエストを監視し、それらが完了したら (成功または失敗に関係なく)、別のメソッドをトリガーしたいと考えています。
フェッチリクエスト 1:
[self.managedObjectContext executeFetchRequest:fetchRequest1 onSuccess:^(NSArray *results) {
//Succcess
[self.refreshControl endRefreshing];
} onFailure:^(NSError *error) {
[self.refreshControl endRefreshing];
}];
フェッチリクエスト 2:
[self.managedObjectContext executeFetchRequest:fetchRequest2 onSuccess:^(NSArray *results) {
//Succcess
[self.refreshControl endRefreshing];
} onFailure:^(NSError *error) {
[self.refreshControl endRefreshing];
}];
別のメソッドを呼び出す前に、フェッチ要求1と2の両方が完了するまで待ちたいと思います。
NSOperationQueue
両方のブロックを監視するために使用できますか? そうでない場合、両方のブロックがいつ完了したかを知る最善の方法は何ですか?