我有以下代碼,它不起作用。它背後有什麼工作嗎?NSOperation和NSOperationQueue不起作用
[operationQueue addOperationWithBlock:^{
imageData = [NSData dataWithContentsOfURL:imageURL];
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
UIImage *image = nil;
if(imageData){
UIImage *image = [UIImage imageWithData:imageData];
cell.imageView.image = image;
}
}];
}];
即使我創建的NSOperation的一個子類,然後ALLOC初始化它,它不工作,我認爲它的方式。我總是不得不啓動NSOperation的子類才能運行,但我想發送啓動消息給NSOperation會在主線程中運行它,而不是在後臺線程中運行。
的輸出是什麼?如果您需要幫助,請告訴我們觸發了什麼錯誤。我們不是讀心者。 – Steven
你有沒有試過把斷點放在行'imageData = [NSData dataWithContentsOfURL:imageURL];''和'UIImage * image = nil;'?知道這將使我們知道你的程序是否執行過你添加到兩個不同'NSOperationQueue'中的塊。如果你在'UIImage * image = nil;'處打斷,請打印'[imageData length]'。 –
這不適用於我,我無法以這種方式加載圖像。我有空的迴應,似乎下載圖像的塊沒有被調用。 – Sandeep