2010-10-25 14 views
6

Bu nedenle, veri modelimin yeni bir sürümünü oluşturdum ve önceden isteğe bağlı olmayan bir isteğe bağlı alan oluşturdum (bu, varsayılan bir değer veriyor). Belgelere göre, bu benim göçümün hafif, otomatik göç için uygun olduğu anlamına gelmelidir.Çekirdek Verileri hafif göç: Eşleme modelini geçiş için bulunamıyor veya otomatik olarak eşleme modeli bulamıyor

Ben de mağaza açtıklarında da belgelere başına, buna izin seçenekleri eklendi: benim app başlayacağı zaman

NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys: 

        [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption, 

        [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil]; 

Ancak aşağıdaki hatayı alıyorum: "otomatik olarak bulmak veya bulunamıyor geçiş için çıkarım haritalama modeli.

Burada sorunun ne olabileceğini bilen var mı? Herhangi bir yardım takdir edilir ... teşekkürler!

+0

İsteğe bağlı yapmadığınız takdirde Nitelik için varsayılan bir değer belirtmeniz gerekiyor mu? –

+0

Neg'in umrumda değil. Neden olduğunu söylemedim. Ne kadar ezik. –

+0

Ahh, muhtemelen sorunuzu açıklamamda "varsayılan değer verme" diye yanıtladı. – elsurudo

cevap

1

Muhtemelen bu baktım ama olduğunuz diğer hatalrı açısından Detecting a Lightweight Core Data Migration

, bu yararlı buldum ... değilse:

NSURL *storeUrl = [NSURL fileURLWithPath: [[self applicationDocumentsDirectory] stringByAppendingPathComponent: @"MyDataStore.sqlite"]]; 

NSError *error = nil; 
NSDictionary *sourceMetadata = [NSPersistentStoreCoordinator metadataForPersistentStoreOfType:NSSQLiteStoreType 
                   URL:storeUrl 
                   error:&error]; 

if (!sourceMetadata) 
    { 
    DLog(@"sourceMetadata is nil"); 
    } 
else 
    { 
    DLog(@"sourceMetadata is %@", sourceMetadata); 
    } 

Ve nihayet, bu tür Ağrınız ancak Finder'da uygulamanız için "Paket İçeriğini Göster" seçeneğini belirleyebilir ve sonra .momd adlı bir klasör bulabilir ve bunun içinde 'VersionInfo.plist' adlı bir dosya vardır. Bu, sahip olduklarınızı ve nereye gitmeye çalıştığınızı belirlemede yardımcı oldu.

Son olarak, bir eşleme modeli oluşturmaya çalışabilir ve bunun işe yarayıp yaramadığını görebilirsiniz. Geçtiğimiz haftalarda göç sorunları ile uğraştım, bu yüzden uzun zamandır çaresiz hata ayıklama girişimleri.

+0

iPhone geliştirmeye yeni başladım ve bu soruna girdim. Kodunuzu denedim ve 'sourceMetadata'nın bir miktar değerini gösterir. Sahip olduğum sorunu ayıklamak için bunu nasıl kullanabilirim? – vikmalhotra

+0

@ShiVik - bu, hata ayıkladığınız soruna bağlı olacaktır ;-) Eğer bir soru gönderirseniz, yardımcı olmaya çalışacağım. Genel olarak, bu, doğru modellerin kullanımda olduğunu ve yanlışlıkla bozulmadığı konusunda bana yardımcı oldu. Aynı zamanda Core Data'nın genel anlayışına da yardımcı oldu. – westsider

+0

İşte sorum şu http://stackoverflow.com/q/4745886/206613 – vikmalhotra

İlgili konular