다음 코드가 있는데 작동하지 않습니다. 그 뒤에 뭔가있는 것이 있습니까?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의 하위 클래스를 만든 다음 init을 할당해도 생각했던대로 작동하지 않습니다. 나는 항상 NSOperation 서브 클래스를 시작하기 위해 호출해야하지만 NSOperation에 시작 메시지를 보내면 백그라운드 스레드에서 실행되는 것이 아니라 메인 스레드에서 실행된다고 가정합니다.
출력은 무엇입니까? 도움이 필요하면 어떤 오류가 발생했는지 알려주십시오. 우리는 마음을 읽는 독자가 아닙니다. – Steven
'imageData = [NSData dataWithContentsOfURL : imageURL]; 및'UIImage * image = nil;'줄에 중단 점을 넣으려고 했습니까? 이것을 알면 프로그램이 두 개의 다른 NSOperationQueue에 추가 한 블록을 실행하는지 여부를 알 수 있습니다. 'UIImage * image = nil;'에서 휴식을 취한다면,'[imageData length]'를 출력하십시오. –
이 방법으로는 작동하지 않습니다.이 방법으로 이미지를로드 할 수 없습니다. 나는 빈 응답을 가지고 있으며 이미지를 다운로드하기위한 블록이 전혀 호출되지 않은 것 같습니다. – Sandeep