three20 TTPhotoViewController, чтобы не кэшировать изображения
Я использую TTPhotoViewController, чтобы показать фотографию, поступающую из удаленного хранилища. Если я изменю содержимое фотографии в удаленном хранилище, но все еще использую тот же URL-адрес, на моем клиенте iPhone будет отображаться оригинальный телефон при загрузке TTPhotoViewController. Так что изображение как-то кешируется, есть ли способ этого не делать?
Я также заметил ту же проблему с одним из TTTableStyledTextItem, который имеет URL-адрес изображения.
Так есть ли в любом случае очистить кэш или автоматически обновить, если целевое изображение изменилось?
1 ответ
Three20 использует внутренний кеш под названием TTURLCache, который поддерживает все виды кешей, включая ETag и тому подобное. Отключите кэш на диск вручную с помощью:
[TTURLCache sharedCache].disableDiskCache = YES;
Я бы не рекомендовал отключать кеш, и вместо этого вы должны посмотреть на заголовок http-кеша на ваших изображениях - Three20 по умолчанию соблюдает его. Один из способов, которым я рекомендую вам справиться с этим, - добавление фиктивного параметра к URL-адресам вашего изображения (при условии, что вы получаете URL-адрес изображения через какой-то API-интерфейс). затем просто добавьте к нему фиктивный номер версии. Каждый раз, когда версия изменяет ваше приложение, вы получите новую версию изображения. вместо:
использование