2015-11-24 3 views
0
UIImage *image    = [[SDImageCache sharedImageCache] imageFromDiskCacheForKey:_actualImageURL.absoluteString]; 
    if(!image) { 
     image = [UIImage imageNamed:@"placeholderImage"]; 
     [self makeImageAvailableAtURL:_actualImageURL]; 
    } 

    self.messageImage.image  = [image isImageGif] ? image.images.lastObject : image; 

Мы загружаем изображение с сервера. Если это gif image, мы получаем изображение с .images (у меня нет другого способа понять, так это gif или нет).Gif загрузка и хранение

- (BOOL)isImageGif { 
    return self.images; 
} 

Но если мы храним рисунок с

[[SDImageCache sharedImageCache] storeImage:image forKey:wImageURL.absoluteString]; 

, она теряет .images.

Любая идея, как справиться с этим?

+0

http://stackoverflow.com/questions/4147311/ find-image-type-from-nsdata-or-uiimage Пожалуйста, проверьте эту ссылку –

+0

Ну, я проверил его. U хочу, чтобы я хранили NSData вместо UIImage или так? Понимая, где gif или нет, у меня уже есть (но грязный). – Aleksandr

+0

NSData * imageData = UIImagePNGRпредставление (myImage.image); вы должны преобразовать его в nsdata. P.S Вы также можете создать nsdat из файла, предоставив ему url. https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSData_Class/#//apple_ref/occ/clm/NSData/data –

ответ

0

Ну, решение с помощью:

[[SDImageCache sharedImageCache] storeImage:image recalculateFromImage:NO imageData:data forKey:key toDisk:YES]; 

вместо просто:

[[SDImageCache sharedImageCache] storeImage:image forKey:key]; 

Я нашел его там: https://github.com/rs/SDWebImage/issues/916

Смежные вопросы