我有一個任務正在從磁盤讀取,可能需要相當長的一段時間,所以不想在主線程中完成它。我想要的是在從磁盤讀取後調用函數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。我如何在完成塊中訪問它?這幾乎是不可能的權利?
你已經試過了什麼代碼? – Linuxios