2011-09-16 22 views
6

Çekirdek Verileri destekleyen iOS uygulamalarında, uygulama temsilcisi için oluşturulan kod, saveContext işlevini içerir ve yorumlar, hatadan kurtulmak için abort() kodunu değiştirmeyi önerir.SaveContext'de bir Çekirdek Veri hatasından kurtarılıyor

Bu tür bir hatadan gerçekten kurtulabilecek bazı standart standart (uygulama özel değil) kod var mı?

Çekirdek Verilerdeki tüm verileri silmeyi düşünüyordum. Bu yardım eder mi? Her türlü hataya karşı mı?

Son olarak, bu kurtarma kodunu nasıl sınarım?

cevap

2

Her giriş için bir kod kodu yoktur, ancak genellikle yönergeler kullanıcıya bir hata iletisi (muhtemelen UIAlertView ile) sunulmasını önerir. Genelde, bağlamsal kaydetme, geçersiz nesneler olduğunda (isteğe bağlı olmayan özelliklerin işaretlenmemesi) yanı sıra iki sürümleri olan bir nesne (bu, nesne bir bağlamda oluşturulduğunda ve diğerinde "yenilenirken" gerçekleştiğinde başarısız olur. Eski durum, doğrulama hatalarını göstermek ve kullanıcıya kaydetme işleminin yapıldığı aynı ekranda düzeltme şansı vermek için yalvarıyor. Son durumda, CoreData yemek kitabında (nesnenin sürümlerinden birini düşüren veya değişiklikleri birleştiren) ele alınan arka plan birleştirme teknikleri vardır.

Ayrıca, deneyimlerime göre, AppDelegate uygulamasında bağlam tasarrufunun çok fazla gerekmediğini söyleyebilirim. Nesne oluşturma için ayrı bir içerik oluşturmayı ve yalnızca ilk MOC'unuzu pencerenizin rootViewController'una iletmek için uygulama temsilcisi bırakmanızı öneririm.

İlgili konular