La méthode NSEntityDescription.insertNewObjectForEntityForName(...) demande un String! comme paramètre entityName.
Si on passait "Mois", en vérité, on passerait un String (sans point d'exclamation) ; du coup, j'ai trouvé que, afin de passer un String! (implicitly unwrapped optional), il faut faire comme ci-dessous...
@IBAction func fillMonths(sender:NSButton) { iflet moc =self.managedObjectContext { let entity =self.managedObjectModel.entitiesByName["Mois"]asNSEntityDescription let entityName = entity.name var mois =NSEntityDescription.insertNewObjectForEntityForName(entityName, inManagedObjectContext: moc)asNSManagedObject
mois1.setValue("Janvier", forKey:"nom") } }
Réponses
Enfin !
Je crois que c'est un truc vachement subtile.
La méthode NSEntityDescription.insertNewObjectForEntityForName(...) demande un String! comme paramètre entityName.
Si on passait "Mois", en vérité, on passerait un String (sans point d'exclamation) ; du coup, j'ai trouvé que, afin de passer un String! (implicitly unwrapped optional), il faut faire comme ci-dessous...
... sauf si quelqu'un sache autrement
C'est un bogue connu !
https://devforums.apple.com/message/996259#996259
Du coup, la solution :
La vache ! Quand même tordu, ce bug ! Je pense qu'il va falloir surveiller ce genre de gag en Swift...
Merci et bravo à toi en tous cas !
Om Nom