Pergunta

Sou novo na programação iOS e só preciso de uma pequena ajuda.Estou tentando usar dados principais e criar uma inserção simples onde haja um relacionamento um para muitos.Minha estrutura de dados central muito simples é assim

enter image description here

Agora, no código, criei também a subclasse NSManagedObject e sou capaz de criar esses objetos individualmente.Tudo que preciso de ajuda é como faço para criar o relacionamento.Meu código é é

Pai.swift gerado pelo Xcode

class Father: NSManagedObject {

    @NSManaged var name: String
    @NSManaged var fatherToChild: NSSet

}

Xcode gerado Child.swift

class Child: NSManagedObject {

    @NSManaged var name: String
    @NSManaged var child_father: NSManagedObject

}

Meu método Adicionar dados:

    func addData(){
   var appDel: AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate
   var context: NSManagedObjectContext = appDel.managedObjectContext!

    var fatherEntity = NSEntityDescription.entityForName("Father", inManagedObjectContext: context)
    var newFather = Father(entity: fatherEntity, insertIntoManagedObjectContext: context)
    newFather.name = "Daddy"


    var childEntity = NSEntityDescription.entityForName("Child", inManagedObjectContext: context)
    var child1 = Child(entity: childEntity, insertIntoManagedObjectContext: context)
    child1.name = "child1"
    var child2 = Child(entity: childEntity, insertIntoManagedObjectContext: context)
    child2.name = "child2"

    //How to map these 2 childs to father? Need help in code here!

    context.save(nil)

}   
Foi útil?

Solução

Tudo que você precisa fazer é definir o relacionamento do Filho para o Pai:

child1.child_father = newFather
child2.child_father = newFather

Isso atualiza automaticamente o relacionamento (inverso) em newFather.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top