Tablo görünümü için tembel bir şekilde yüklemeye çalıştığım coredata resimlerim var. Her bir hücre, biri mevcut olduğunda görüntüyü güncellemek için ilgili çekirdek veri varlığı için bir gözlemci kullanır. aşağıdaki gibi varlıktaki ilgili kodudur:Çekirdek Verileri ile dispatch_async kullanılırken EXC_BAD_ACCESS öğesinin alınması
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"];
});
});
proje herhangi derleyici hata veya uyarı almıyorum, ARC kullanır ve ben o zaman hızlı kaydırma kadar bu tür işleri çalıştırmak ve ne zaman almak i 'i ilan ettiğimde hat üzerindeki bir EXC_BAD_ACCESS.
Burada nelerin eksik?
'NSZombieEnabled' ile denediniz mi? – zoul
dispatch_async kullanmıyorsanız ne olur? sadece –
NSZombie ana iş parçacığı üzerinde çalıştırmak benim için fazladan ışık tutmaz. Eğer dağınıklık yapmazsam, ana iş parçacığını engeller ve gerçekten zayıf ilerler. – dizy