Question de débutant en core data

2»

Réponses

  • Joanna CarterJoanna Carter Membre, Modérateur
    août 2014 modifié #32

    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...



    @IBAction func fillMonths(sender: NSButton)
    {
    if let moc = self.managedObjectContext
    {
    let entity = self.managedObjectModel.entitiesByName["Mois"] as NSEntityDescription

    let entityName = entity.name

    var mois = NSEntityDescription.insertNewObjectForEntityForName(entityName, inManagedObjectContext: moc) as NSManagedObject

    mois1.setValue("Janvier", forKey: "nom")
    }
    }

    ... sauf si quelqu'un sache autrement  ;)


  • Joanna CarterJoanna Carter Membre, Modérateur
    août 2014 modifié #33

    C'est un bogue connu !  :D


     


    https://devforums.apple.com/message/996259#996259


     


    Du coup, la solution :



    @IBAction func fillMonths(sender: NSButton)
    {
    if let moc = self.managedObjectContext
    {
    let entityName: NSString = "Mois"

    var mois1 = NSEntityDescription.insertNewObjectForEntityForName(entityName, inManagedObjectContext: moc) as NSManagedObject

    mois1.setValue("Janvier", forKey: "nom")
    }
    }



  •  


    C'est un bogue connu !  :D


     


    https://devforums.apple.com/message/996259#996259


     


    Du coup, la solution :



    @IBAction func fillMonths(sender: NSButton)
    {
    if let moc = self.managedObjectContext
    {
    let entityName: NSString = "Mois"

    var mois1 = NSEntityDescription.insertNewObjectForEntityForName(entityName, inManagedObjectContext: moc) as NSManagedObject

    mois1.setValue("Janvier", forKey: "nom")
    }
    }



     


    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 !  o:)


     


    Om Nom

Connectez-vous ou Inscrivez-vous pour répondre.