2016-02-11 3 views
0

У меня есть UIImageView, который отображает фотографию пользователя на Facebook. Я загружаю изображение с AFNetworking, и он кэширует изображение, пока приложение открыто.iOS Cache UIImage между сеансами

Что я хочу знать, если есть встроенный метод, который позволит мне сохранить изображение на устройстве и использовать его в последующих сеансах, если нет Интернета. Я знаю, что могу загрузить изображение и сохранить его на устройстве вручную, но мне было интересно, если для этого уже есть что-то встроенное.

ответ

0

С сессиями Я предполагаю, что вы имеете в виду, когда приложение закрыто (завершено) и снова открывается позже? Если это так, тогда нет ничего, что могло бы сделать это для вас, и вам придется хранить его где-то локально самостоятельно.

+0

Ye это было именно то, что я хотел. Заставьте систему сохранить изображение, даже если приложение закрывается и обновляется, когда есть подключение к Интернету. – rob180

0

Есть несколько библиотек, доступных попробовать SDWebImage

Идея проста

ImageView просит изображения из URL из диспетчера кэша изображений, менеджер обеспечивает изображение, если оно имеет или загрузить с сервера, а затем сохранить локально для периода времени кеша и предоставляет изображение.

+0

сохраняет ли он, даже если кеш закрывается? Потому что это то, что я ищу, и до сих пор я не мог найти lib, который бы это обеспечил. – rob180

0

Вы можете иметь свой собственный API, который выглядит примерно так и обрабатывать загрузку и сохранение изображения на диске:

+ (void)getImageForId:(NSString *)idString completionBlock:(void (^)(UIImage *image))completionBlock 
{ 
    // Code to load the Image from the disk. 
    UIImage *cachedImage = [self.cache objectForKey: idString]; 

    if (cachedImage) { 
     completionBlock(cachedImage); 
    } else { 
     // Your code to download the image again 
     // Save the image to the disk 
     // return the image 
    } 
} 
Смежные вопросы