Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.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
Swift CoreData-一对多关系_Swift_Core Data_One To Many_Nsfetchedresultscontroller_Relationships - Fatal编程技术网

Swift CoreData-一对多关系

Swift CoreData-一对多关系,swift,core-data,one-to-many,nsfetchedresultscontroller,relationships,Swift,Core Data,One To Many,Nsfetchedresultscontroller,Relationships,我将发布以下代码,然后解释我的挣扎 此功能可保存一天(如星期日、星期一、星期二等): 这一个将细节保存为一个名称、一系列设置和一系列重复(如健身房练习): 我的应用程序运行正常,但我真正需要的是:每天,我都会有多个exercisename、setnumber和repsNumber。我设定了一对多的关系,但我不知道如何将培训细节归因于daysArray中的每一天 以下是我的两个型号: import Foundation import CoreData class TrainingDay: NSM

我将发布以下代码,然后解释我的挣扎

此功能可保存一天(如星期日、星期一、星期二等):

这一个将细节保存为一个名称、一系列设置和一系列重复(如健身房练习):

我的应用程序运行正常,但我真正需要的是:每天,我都会有多个exercisename、setnumber和repsNumber。我设定了一对多的关系,但我不知道如何将培训细节归因于daysArray中的每一天

以下是我的两个型号:

import Foundation
import CoreData

class TrainingDay: NSManagedObject {

    @NSManaged var day: String
    @NSManaged var relationship1: NSSet

}

稍后,我会为每天设置一个按钮,当按下按钮时,他们会用当天的练习列表更新一个tableView。这就是为什么我需要设置一对多关系

我怎样才能做到这一点


对不起,有什么错误。提前谢谢

您想做什么的文档在标题“多关系”下

下面是一个简短的例子。首先,我建议将你的关系名称改为更直观的名称。这将真正有助于:

class TrainingDay: NSManagedObject {
    @NSManaged var day: String
    @NSManaged var trainingDetails: NSSet
}

class TrainingDetails: NSManagedObject {
    // ... other stuff here
    @NSManaged var trainingDay: TrainingDay
}
确保对代码所做的任何更改也在模型图中进行。确保这些关系在模型图中配置为彼此相反

您可以为给定的
TrainingDetails
设置
TrainingDay
,如下所示:

// This assumes you've created a TrainingDay called "trainingDay1", and a 
// TrainingDetails object called "details".
details.trainingDay = trainingDay1
var details = trainingDay1.mutableSetValueForKey("trainingDetails")
details.addObject(newTrainingDetails)
核心数据也负责创建反向关系,因此
trainingDay1
对象将自动向其
trainingDetails
集合添加
details

如果您试图将对象添加到
TrainingDay
中设置的
trainingDetails
,则需要使用我链接到的文档中描述的
mutableSetValueForKey:
方法。基本上,它看起来是这样的:

// This assumes you've created a TrainingDay called "trainingDay1", and a 
// TrainingDetails object called "details".
details.trainingDay = trainingDay1
var details = trainingDay1.mutableSetValueForKey("trainingDetails")
details.addObject(newTrainingDetails)
mutableSetValueForKey:
创建代理对象。对其返回的集合所做的任何更改都对您试图修改的集合有效


希望这有帮助

我认为你的答案是对的,但我仍然有些怀疑。你有没有其他像facebook或whatsapp这样的社交媒体可以让我们聊天?我真的很想掌握这段感情。我马上给你发电子邮件
var details = trainingDay1.mutableSetValueForKey("trainingDetails")
details.addObject(newTrainingDetails)