2016-07-19 20 views
0

Daten KernSwift 3. xCode8. Zuordnung der Wert der Booleschen Typ eines Unternehmens zuzuschreiben wirft Fehler

let appDelegate = UIApplication.shared().delegate as! AppDelegate 
     let container = appDelegate.persistentContainer 

     let managedObjectContext = container.viewContext 
     for item in items { 
      let game = NSEntityDescription.insertNewObject(forEntityName: "Game", into: managedObjectContext) as! GameEntity 
      game.str = item.str 
      game.rating = item.rating 
      game.isConquered = false 

wenn die Zuweisung der Ausführung game.conquered Ich erhalte:

exception 'NSInvalidArgumentException' reason unrecognized selector sent to instance 

In Datenmodell

extension GameEntity { 

    @nonobjc class func fetchRequest() -> NSFetchRequest<GameEntity> { 
    return NSFetchRequest<GameEntity>(entityName: "Game"); 
    } 

    @NSManaged var conquered: Bool 
    @NSManaged var rating: Int32 
    @NSManaged var str: String? 
} 

In Modell Explorer in xCode erobert hat Typ Boolean
Ich habe versucht, den Typ für Boolean im Code zu erobern, aber Compiler Fehler bekommen - dass es nicht als NSManaged dargestellt werden kann.

Ich weiß, ich kann Int32 anstelle von Bool verwenden, und zwischen 0/1 Werte unterscheiden, ich will nur verstehen, was ist der Grund für Fehler, die ich bekomme.

Antwort

0

nachdem ich umbenannt isConquered zu eroberten Problem wurde gelöst. Also, wie ich verstehe, war das Problem im Präfix ist, gibt es irgendwelche Regeln im Standard, die bestimmt, dass einige Präfixe nicht für Attributnamen verwendet werden sollten ??