ディスクから読み取るタスクがあり、かなり時間がかかる可能性があるため、メインスレッドで実行したくありません。ディスクから読み取った後に関数Xを呼び出す必要があります。iOSでこれを行うための最良の方法は何ですか?
これまでのところ、これは私が試したことです:
NSInvocationOperation *processDataOperation = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(readDisk:) object:nil];
[processDataOperation setQueuePriority:NSOperationQueuePriorityVeryHigh];
[processDataOperation setCompletionBlock:^(void){
NSMutableArray *feedItemsArray = [self generateFeedItemsFromDictionary:streamDiskData];
[self postFetchCompletedNotificationForDict:queryStringDict withFeedItems:feedItemsArray isFresh:NO];
}];
基本的に私はNSInvocationOperationを使用していて、それを完了ブロックに設定していますが、問題は、完了ブロックでreadDiskで生成された結果が必要なことです。完了ブロックでそれにアクセスするにはどうすればよいですか?それはほとんど不可能ですよね?