返回圖像我想能夠從解析獲取的圖像是這樣的:使用信號燈從解析
-(UIImage *) image {
__block NSData * imageData;
dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
[self.imageFile getDataInBackgroundWithBlock:^(NSData *data, NSError *error) {
imageData = data;
dispatch_semaphore_signal(semaphore);
}];
dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);
return [UIImage imageWithData:imageData];
}
但由於塊上的郵件線程執行和信號燈等待的主線程,塊永遠不會執行。我如何重做我的代碼?我需要能夠返回沒有completionBlock的圖像,因爲這個方法是由我使用的庫調用的。
你想從後臺加載圖片,然後在主線程中更新? – chancyWu
我只是想在imageData設置好後執行return語句。解析在後臺加載數據,然後調用主線程上的塊。 –