Такова природа асинхронного программирования! Вам придется изменить дизайн зависимостей на userAvatar
, чтобы учесть, что его доступность недетерминирована.
Таким образом, вместо того, чтобы иметь блок успеха вашей операции, просто установите userAvatar
ivar, он позаботится о том, что должно произойти, когда это изображение станет доступным. Например, если вы хотите установить изображение UIImageView
, то в вашем блоке успеха:
dispatch_async(dispatch_get_main_queue(), ^{
myImageView.image = image;
});
(Не зная деталей ваших целей и деталей вашей реализации, это просто "например ...")