Hata ayıklamak için çok zor olduğunu belirten aralıklı bir hata alıyorum.EXC_BAD_ACCESS (kod = 1, adres = 0x10)
Ben
EXC_BAD_ACCESS (kod = 1, adres = 0x10) Çekirdek Veri üzerinde
class func getAll(context: NSManagedObjectContext) -> [Tag] {
var returnValue: [Tag] = []
do {
let fetchRequest = NSFetchRequest(entityName: Tag.entityName())
returnValue = try context.executeFetchRequest(fetchRequest) as! [Tag]
} catch {
}
return returnValue
}
böcek Fetch aşağıdaki yönteminden aşağıdaki hatayı alıyorum, extermely aralıklı olduğu ve sadece her birkaç 100 seansta gerçekleşiyor, ama bununla başa çıkmam gereken kadar sık gözüküyor. on line kod sonları returnvalue = try context.execute...
ayıklama itibaren
- , benim
fetchRequest
nil
- değil benim
context
değilnil
- returnValue
- benim backgroundContext bir çalışıyorsa boş dizinin varsayılan değere sahiptir Arka plan iş parçacığı
NSZombieFlag'i açtım, bazı bellekler ayrılmışsa da burada ve daha sonra erişiliyor, ama buna neden olan şey üzerinde güldüm. Herhangi bir fikir veya içgörü çok takdir edilecektir.
. Bunu yapabilir ve sonra hata mesajını sorunuza koyabilir misiniz? Ayrıca, hatalı olabilirim, ancak NSFetchRequest'in bir NSSortDescriptor sağlamanızı gerektirdiğinden eminim. – Jonathan
Yakalama bloğuna asla ulaşılamıyor, eğer ulaşılmışsa, çökme oluşmaz. Hata bildirimini catch bloğuna ekledim, ancak yine de ona ulaşmıyor. Yakalama bloğu, kötü bir erişim hatası değil, bir çekirdek veri getirme hatasını önlemek içindir. – Unome
Sıralama tanımlayıcısı gerekli. Kesinlikle değil. Apple'ın belgelerine göre "Bir nil değeri, sıralama tanımlayıcısı olarak kabul edilmez" ve bir sağlamadığınız zaman bu varsayılan değerdir. – Unome