[UIImageAsset сохранить]: сообщение отправлено в освобожденный экземпляр

Линия

UIImage *tempImage = [UIImage imageNamed:@"gradient-image"];

выполняется внутри NSOperation в фоновом потоке. Здесь код прерывается сообщением:

[UIImageAsset retain]: message sent to deallocated instance

У меня есть изображение с именем gradient-image в Images.xcassets. Честно говоря, я даже не знаю, какая еще информация будет актуальна.

Это случается в редких случаях, я не могу воспроизвести это постоянно. Я немного погуглил, но результатов мало. Итак, я решил создать вопрос здесь, на SO.


person ancajic    schedule 16.02.2015    source источник


Ответы (1)


Прямо из Документация Apple по UIImage imageNamed::

Нельзя предполагать, что этот метод является потокобезопасным.

Вы должны быть в основном потоке при загрузке UIImage объектов. Вы можете быть в любом потоке при их использовании, но для их загрузки требуется основной поток.

person Ian MacDonald    schedule 16.02.2015