three20 TTPhotoViewController, чтобы не кэшировать изображения

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

Я также заметил ту же проблему с одним из TTTableStyledTextItem, у которого есть URL-адрес изображения.

Так есть ли способ очистить кеш или автоматическое обновление, если целевое изображение изменилось?


person tom    schedule 18.11.2011    source источник


Ответы (1)


Three20 использует внутренний кеш под названием TTURLCache, который поддерживает все виды кешей, включая ETag и тому подобное. Вручную отключить кеширование на диск с помощью:

[TTURLCache sharedCache].disableDiskCache = YES;

Я бы не рекомендовал отключать кеш, и вместо этого вы должны смотреть на заголовок http-кеша на ваших изображениях - Three20 по умолчанию соблюдает это. Один из способов, которым я рекомендую вам справиться с этим, - это добавить фиктивный параметр к вашим URL-адресам изображений (при условии, что вы получаете URL-адрес изображения через какой-то api). затем просто добавьте к нему фиктивный номер версии. При каждом изменении версии ваше приложение будет получать новую версию изображения. вместо:

http://yoururl.com/image.png

использовать

http://yoururl.com/image.png?dummyversion=232

person Yosi Taguri    schedule 20.11.2011