2015-01-12 2 views
1

В моем приложении iOS, написанном с помощью swift Я установил изображение из локального файла в UIImageView со следующим кодом: , и это работает отлично. На каком-то этапе (в моем случае другой ViewController) я должен переписать содержимое файла, сначала удалив существующий файл, а затем напишу новый файл в этот каталог или переместив новый файл в существующий каталог. После того, как файл был перезаписан, просмотр изображения продолжает показывать старое изображение, даже если я сброшу его изображение тем же методом, что и упоминание выше. Если я закрою приложение, а затем снова открою его, появится новое изображение. Я знаю, что это, вероятно, проблема с кешем и мой вопрос заключается в том, как очистить кеш, связанный с конкретным файлом, и показать новое изображение напрямую?iOS переписывающий файл изображения по определенному пути показывает старое изображение

+0

Пожалуйста, разместите свой код. –

+0

@ LyndseyScott проблема была с UIImage.imageNamed, как Дэвид описал в своем ответе –

ответ

1

Вы сталкиваетесь с несколькими проблемами, самым большим из которых является то, что UIImage.imageNamed специально кэширует изображение, считывая его, поэтому изменение базового файла не приведет к использованию нового изображения. Другая (связанная) проблема заключается в том, что imageNamed в первую очередь предназначен для загрузки статических изображений из пакета приложений.

Переключитесь на использование UIImage(contentsOfFile:...) и убедитесь, что вы перезагружаете изображение при изменении файла резервной копии.