Я пишу приложение для iPhone, которое позволяет просматривать изображения в одном представлении и создавать их в другом.NSData writeToFile не полностью написан при чтении
мнение, что создает изображение будет записать образ документов.Папка, используя следующий код (при касании кнопки, чтобы закрыть вид):
[UIImagePNGRepresentation(image) writeToFile:path atomically:YES];
Вид браузер будет загружать изображения с помощью:
UIImage *image = [UIImage imageWithContentsOfFile:path];
Теперь это работает отлично 9 из 10 раз. 1 из 10 изображение не написано полностью, прежде чем загружать его, чтобы нижняя половина была черной. Все будет записано в конце концов - если я перезагружу изображение в браузере, будет показано полное изображение. Я думал, что эти вещи всегда будут согласованы внутри одного потока.
Могу ли я сделать что-то, чтобы предотвратить такое поведение?
Прямо сейчас я собираюсь передать вновь созданное изображение обратно в браузер, но это похоже на хак, поскольку браузер показывает все ваши ранее созданные изображения.
Вы можете показать **, который ** метод вызывает 'writeToFile: atomically:'? это обработчик нажатия кнопки, или 'viewWillDisappear:' или что-то еще? вы проверили возвращаемое значение 'writeToFile:'? можете ли вы попробовать другой вариант 'writeToFile:', который позволяет вам передать «NSError»? – Nate
Изображение сохраняется при нажатии кнопки, после чего отклоняется представление. Изображения загружаются в viewDidLoad в режиме просмотра браузера. На самом деле, трудно воспроизвести, я думаю, что это больше похоже на 1/100 или 1/1000. Я видел это 3-4 раза вчера. Боюсь, хватит беспокоиться. Кажется, это не происходит сейчас, когда я перехожу назад и вперед. – rasmus
Кроме того, я видел это на нескольких устройствах (4S, 3GS, iPad). – rasmus