У меня есть изображения в coredata, которые я лениво пытаюсь загрузить для просмотра таблицы. Каждая ячейка использует наблюдателя для связанного основного объекта данных для обновления изображения, когда оно становится доступным. Соответствующий код в сущности выглядит следующим образом:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// The heavy lifting seems to be during firing of the fault and accessing data,
// so i'm trying to do that in the background thread.
UIImage *i = [UIImage imageWithData:self.imageEntity.data];
// I now need to notify observers that the image is ready on the main thread
dispatch_async(dispatch_get_main_queue(), ^{
[self willChangeValueForKey:@"image"];
image = i;
[self didChangeValueForKey:@"image"];
});
});
В проекте используется ARC, я не получаю никаких ошибок или предупреждений компилятора, и когда я запускаю его, это работает, пока я не прокручиваю быстро, а затем я получаю EXC_BAD_ACCESS в строке, когда я объявляю i.
Что мне здесь не хватает?