So arbeite ich an einem Projekt und ich mussAFImageDownloader
verwenden, um einige Bilder herunterladen, die wir in unserem Projekt verwenden müssen. Ich verwende den folgenden Code ein:iOS Block Bild zurück
-(void) downloadImage:(NSURL*) url
{
AFHTTPSessionManager *sessionManager = [[AFHTTPSessionManager alloc] init];
AFImageDownloader *imgDownloader = [[AFImageDownloader alloc] initWithSessionManager:sessionManager downloadPrioritization:AFImageDownloadPrioritizationFIFO maximumActiveDownloads:1 imageCache:nil];
AFHTTPResponseSerializer *responseSerializer = [AFHTTPResponseSerializer serializer];
responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json",@"binary/octet-stream",nil];
sessionManager.responseSerializer = responseSerializer;
NSURLRequest *req = [NSURLRequest requestWithURL:url];
[imgDownloader downloadImageForURLRequest:req success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *responseObject){
self.image = responseObject;
[self.delegate updateImageWithImage:self.image]; // ** CRASH **
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error){
NSLog(@"Error");
}];
}
Der Delegierte ist natürlich nicht nil und Code des updateImageWithImage ist:
-(void) updateImageWithImage:(UIImage*) img {
self.image.image = img;
}
Also im Grunde, wenn ich versuche, die UIImage
ich als bekommen, es zu erhalten Antwort und weisen Sie es an die UICollectionViewCell
und es stürzt ab! Ich schätze, dass ich eine Art "Kopie" der responseObject
vor der Verwendung von Teilen meines Programms machen sollte, aber ich bin nicht wirklich sicher, was das Problem ist. Irgendwelche Ideen?
Was sagt der Debugger nach dem Absturz? –
nach 'self.image = responseObject;' check einmal den Wert von 'self.image' durch Drucken. – triandicAnt
Ich verwende xcode 8 BTW, und der Debugger sagt: libC++ abi.dylib: Beenden mit nicht abgefangenen Ausnahme des Typs NSException –