Добавление отношения "один ко многим" в Swift

StackOverflow https://stackoverflow.com//questions/25091634

  •  02-01-2020
  •  | 
  •  

Вопрос

Я новичок в программировании на iOS, и мне просто нужна небольшая помощь.Я пытаюсь использовать основные данные и создать простую вставку, в которой есть отношение "один ко многим".Моя очень простая базовая структура данных выглядит следующим образом

enter image description here

Теперь в коде я также создал подкласс NSManagedObject и могу создавать эти объекты по отдельности.Все, что мне нужно, - это помощь в том, как мне создать отношения.Мой код - это

Xcode сгенерировал Father.swift

class Father: NSManagedObject {

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

}

Дочерний элемент, сгенерированный Xcode.swift

class Child: NSManagedObject {

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

}

Мой метод добавления данных:

    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)

}   
Это было полезно?

Решение

Все, что вам нужно сделать, это установить отношения от ребенка к отцу:

child1.child_father = newFather
child2.child_father = newFather

Это автоматически обновляет (обратную) зависимость в newFather.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top