Swift-CoreData: error: Failed to call designierten Initialisierer auf NSManagedObject Klasse 'NSManagedObject'

Bin ich mit core data speichern Sie eine Kategorie in vc1 und möchten zur Liste hinzufügen von Eigenschaften zu einer Liste in vc2. Mein Datenmodell ist eine Kategorie aus, um viele Eigenschaften aufgelistet.

Ich bin das hinzufügen der Kategorie, wie dies in vc1:

func createNewCategory() {
    var category: NSManagedObject! = NSEntityDescription.insertNewObjectForEntityForName("Category", inManagedObjectContext: self.context) as NSManagedObject
    category.setValue(self.categoryTextField.text, forKey: "name")

    var error: NSError? = nil
    self.context.save(&error)
}

Aufbau der Daten in vc2:

func setupCoreData() {
    var appDelegate: AppDelegate = (UIApplication.sharedApplication()).delegate as AppDelegate
    self.context = appDelegate.managedObjectContext!

    var request: NSFetchRequest = NSFetchRequest(entityName: "Category")
    if (self.context.executeFetchRequest(request, error: nil)) {
        var error: NSError? = nil
        self.listData = self.context.executeFetchRequest(request, error: &error)
        self.managedObject = self.listData.objectAtIndex(0) as NSManagedObject
    }
}

Kracht es in der letzten Zeile: self.managedObject = ... sagen:

CoreData: error: Failed to call designated initializer on NSManagedObject class 'NSManagedObject' 

Das verwaltete Objekt ist in dem array, wenn ich einen break point und drucken Sie das array. Was ist falsch?

  • Sie die Ausführung der fetch-Anfrage zweimal. Warum?
  • Ich war die überprüfung, wenn es existierte, aber es schien zu funktionieren, ohne dass es...
  • Der test prüft nur, ob der Abruf gibt ein array zurück, auch leere.
  • Ok, gut zu wissen. Ich bin ein Neuling, wie Sie sagen können,:) vielen Dank für Ihre Hilfe.
Schreibe einen Kommentar