Hafif CoreData Geçiş Nasıl Yapılır İlk hafif CoreData geçişimi deniyorum. Hafif göçlerde iki kılavuz okurum. Hem NSPersistentStoreCoordinator gibi değişkenleri değiştirerek ve ekleyerek, bir CoreDataStack sınıfına kod ekleyin:Swift
let mOptions = [NSMigratePersistentStoresAutomaticallyOption: true,
NSInferMappingModelAutomaticallyOption: true]
Benim sorunum CoreData kullanarak mükemmel işleyen bir uygulama var ama böyle o sınıf veya bir şey yok olmasıdır. Sorunum, bu projeler neden bu sınıfa sahip olduğumu varsayalım ve hafif göçümü bu olmadan elde edebilir miyim? Yoksa, nasıl ekleyebilirim? Eylül ayında
Yanıt Eğer Gerekli
Fazla Bilgi, ben CoreData kullanarak bir uygulama oluşturduk. CoreData'yı ilk defa kullanıyorum ve bu Ray Wenderlich kılavuzunu takip ettim. Harika çalıştı, uygulamayı bitirdim ve şimdi mağazada. Şimdi yeni CoreData özelliklerini ve birkaç yeni varlığı içeren uygulamada bazı değişiklikler yapmaya başlamak istiyorum. Yeni bir model versiyonunu kurmam gerektiğini okudum.
Ben Ray Wenderlich guide buldum ama bende olmayan bu CoreDataStack.swift dosyası kullanır: sinir bozucu neBen kurulum CoreData onların kılavuzunu kullanarak olmasıdır ve içermiyordu bu dosya! Sonra bir göç yapmaya gidiyorum ve sahip olduğumu varsayıyorlar.
Ben, başka hafif göç yöntemiyle arama gitti bu alternative buldum ve benim CoreData yerleşik asla çok referanslar kodu: Ben kılavuzları okumak ve% 90 anlama ettik
Yanilazy var persistentStoreCoordinator: NSPersistentStoreCoordinator? = {
// The persistent store coordinator for the application. This implementation creates and return a coordinator, having added the store for the application to it. This property is optional since there are legitimate error conditions that could cause the creation of the store to fail.
// Create the coordinator and store
var coordinator: NSPersistentStoreCoordinator? = NSPersistentStoreCoordinator(managedObjectModel: self.managedObjectModel)
let url = self.applicationDocumentsDirectory.URLByAppendingPathComponent("MyLog.sqlite")
var error: NSError? = nil
var failureReason = "There was an error creating or loading the application's saved data."
if coordinator!.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: url, options: nil, error: &error) == nil {
coordinator = nil
// Report any error we got.
var dict = [String: AnyObject]()
dict[NSLocalizedDescriptionKey] = "Failed to initialize the application's saved data"
dict[NSLocalizedFailureReasonErrorKey] = failureReason
dict[NSUnderlyingErrorKey] = error
error = NSError(domain: "YOUR_ERROR_DOMAIN", code: 9999, userInfo: dict)
// Replace this with code to handle the error appropriately.
// abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
NSLog("Unresolved error \(error), \(error!.userInfo)")
abort()
}
öğreticiler.
let mOptions = [NSMigratePersistentStoresAutomaticallyOption: true,
NSInferMappingModelAutomaticallyOption: true]
Teşekkür ederiz! 1:00 ama sabahları deneyecek ve işe yararsa doğru işaretleyecektir. Bahsettiğim sınıfın ne olduğu konusunda da bir şansın var mı? Neden, bu derste, sınıf tarafından ele alınan kalıcı mağaza mı? –
Teşekkür ederim, bu işe yaramış görünüyor. Bir geçişi gösteren öğreticide gördüğüm konsol çıktısını almadım, ancak öznitelikleri ve varlıkları ekledim ve uygulamayı çalıştırdım ve hiç sorunum olmadı. –