unrecognized selector geschickt Instanz mit Coredata Swift

Ich bekomme immer diese Fehlermeldung, wenn ich versuche ein update Wert des core-Datenmodells.
Hier ist mein Modell

import Foundation
import CoreData

@objc(Habit)
class Habit: NSManagedObject {

    @NSManaged var name: String
    @NSManaged var trackingType: NSNumber
}

Hier ist mein code tableViewCell

override func setSelected(selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)
        if selected {
            self.accessoryType = UITableViewCellAccessoryType.Checkmark
            if self.habit? != nil {
                self.habit?.trackingType = index

            }

        } else {
            self.accessoryType = UITableViewCellAccessoryType.None
        }
        //Configure the view for the selected state

    }

Ich bekomme den Fehler "Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Gewohnheit setTrackingType:]: unrecognized selector geschickt Instanz 0x7fdcbb002c90'"

in Zeile
selbst.Gewohnheit?.trackingType = index

Ich bin kämpfen, um dieses Update für die letzten 2 Tage.

Edit:

Modell Gewohnheit wird initialisiert unten Weg

func getHabits() -> [AnyObject]{
        let entityDescription =
        NSEntityDescription.entityForName("Habit",
            inManagedObjectContext: managedObjectContext!)

        let request = NSFetchRequest()
        request.entity = entityDescription
//       
//       let pred = NSPredicate(format: "(trackingType != -1)")
//       request.predicate = pred

        var error: NSError?

        var objects = managedObjectContext?.executeFetchRequest(request,
            error: &error)

        return objects!;
    }

Die zurückgegebene Liste wird verwendet, um überall in der app. Im Grunde Hole ich meine und Element aus der Liste und aktualisieren Ihre Attribute und speichern Sie es dann wieder

  • Wo/wie ist self.habit initialisiert? Vielleicht ist Sie nicht der designierte Initialisierer init(entity: , insertIntoManagedObjectContext:) ? Vergleichen Sie in stackoverflow.com/questions/23835525/....
  • Ich habe bereits Durchlaufen alle diese links, aber keiner von Ihnen konnte helfen. Ich bearbeitet meine Frage für Eure Kommentare
  • Ich denke, das hat etwas zu tun mit dem Gedächtnis, aber ich bin nicht in der Lage, um herauszufinden, in swift
  • Wie ist index definiert?
  • Hast du das automatische generieren der Klasse?
  • Kein index definiert ist. Ja, ich habe generiert die Klasse mit xcode aus dem Modell
  • Was der Fehler bedeutet, dass Ihre Gewohnheit Klasse nicht implementiert setTrackingType:. Sie erklärte es, aber die Umsetzung war nie definiert.
  • Hier ist noch mal beantworten, wenn mittels Swift 3, XCode Beta-8 - forums.developer.apple.com/thread/50885

Schreibe einen Kommentar