2013-10-01 3 views
3

У меня есть одно приложение в формате ARC. но я хочу кэшировать некоторые URL-адреса изображений в папке с кешем библиотеки. любая идея?лучший способ кэшировать URL-адрес изображения из моего веб-сервиса?

благодарит заранее.

+0

Создайте словарь и напишите URL-адрес изображения для них! – Vinodh

+0

Можете ли вы дать образец или учебник для этого? –

+0

http://blog.mugunthkumar.com/coding/ios-tutorial-image-cache-and-loading-thumbnails-using-mknetworkkit/, пожалуйста, попробуйте это? – Vinodh

ответ

2

Я надеюсь, что это может помочь вам. Я использую SDWebImage с моими проектами.

с помощью:

добавить ViewController: #import "UIImageView+WebCache.h"

[yourImageView setImageWithURL:[NSURL URLWithString:@"ImageUrl"]]; 

вам нужно добавить MapKit и ImageIO к проекту. если вы не добавили

Чтобы сделать это:

  1. Нажмите на проекте в верхней части навигатора проекта в Xcode

  2. Выберите вкладку "Построить Фазы.

  3. Открыть прямоугольник «Ссылка двоичный с библиотеками».

  4. Нажмите «+».
  5. Добавить карты MapKit и ImageIO.
+1

Я делаю это, но в моем коде ARC весь класс sdwebimage vie помечен как флаг ARC как: ** "- fno-objc-arc" ** в фазах bulit. Но до сих пор ошибка в этом классе -> ** #import Ошибка «SDWebImageCompat.h» **: ** SDWebImage - только ARC. Или включите ARC для проекта или используйте флаг -fobj-arc **. , но я уже добавил флаг в файле встроенных фаз. Как решить эту ошибку в коде ARC, пожалуйста, дайте решение для этого? –

+0

'SDWebImage' - это ARC, но вы отмечаете файл как никакой ARC с' -fno-objc-arc' – rckoenes

+0

, а затем что делать для классов ARC SDWebimage? –

1

Вы можете использовать NSURLCache, который будет использоваться по умолчанию при использовании NSURLConnection.

Другой вариант - использовать NSCache, который специально создан для кеширования объектов, он автоматически освобождает любые объекты, которые он удерживает, когда системе требуется больше памяти. Он работает примерно так же, как NSDictionary.

Создайте общий экземпляр NSCache где- то сделать что-то вроде:

UIImage *image = [self.imagaeCache objectForKey:urlString]; 
if (!image) { 
    // load the image from the URL 
} 

Только не забудьте добавить загруженное изображение в кэш:

[self.imagaeCache setObject:image forKey:urlString]; 
Смежные вопросы