Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在Swift中添加一对多关系_Ios_Xcode_Swift - Fatal编程技术网

Ios 在Swift中添加一对多关系

Ios 在Swift中添加一对多关系,ios,xcode,swift,Ios,Xcode,Swift,我不熟悉iOS编程,只需要一点帮助。 我正在尝试使用核心数据并创建一个简单的插入,其中存在一对多关系。 我非常简单的核心数据结构如下所示 现在在代码中,我也创建了NSManagedObject子类,并且能够单独创建这些对象。我所需要的帮助就是如何建立这种关系。我的密码是 Xcode.swift class Father: NSManagedObject { @NSManaged var name: String @NSManaged var fatherToChild: NS

我不熟悉iOS编程,只需要一点帮助。 我正在尝试使用核心数据并创建一个简单的插入,其中存在一对多关系。 我非常简单的核心数据结构如下所示

现在在代码中,我也创建了NSManagedObject子类,并且能够单独创建这些对象。我所需要的帮助就是如何建立这种关系。我的密码是

Xcode.swift

class Father: NSManagedObject {

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

}
Xcode生成的Child.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

这会自动更新
newfard
中的(反向)关系

谢谢。我真傻,竟然没用这个。也许现在已经太晚了!再次感谢。你能解释一下为什么fatherToChild是NSSet类型而ChildToFaher是NSManagedObject类型吗?@dellos:因为一个是“对多”关系,另一个是“对一”关系。我是否需要通过子类NSManagedObject定义代码中的每个关系?@MartinR你能告诉我如何编辑和更新关系吗?如果让我理解这个关系,你会给我5票赞成票!谢谢