我有一个名为“Routine”的NSManagedObject,它已经保存到我的数据模型中。它与另一个名为“Workout”的NSManagedObject有很多关系。我想编辑例程,以便为它添加更多的锻炼关系。
let routine = fetchedResultsController.objectAtIndexPath(indexPath) as! Routine
在我的数据模型中编辑Routine的ViewController包含一个Workout对象数组:
var myWorkouts = [Workout]()
“myWorkouts”阵列中的一些训练可能已经与Routine相关联,而其他人可能没有(新训练)。我在每个锻炼和例程之间创建了一个关系:
for workout in myWorkouts {
routine!.setValue(NSSet(objects: workout), forKey: "workout")
}
我的问题:如果已经创建了一个Routine和一个Workout之间的关系,那么上面的for循环是否会创建该训练的副本以与我的例程相关联,或者它是否只会创建以前没有关联的锻炼的新关系?
我希望我的问题有道理。在此先感谢您的帮助!
常规CoreDataProperties文件
import Foundation
import CoreData
extension Routine {
@NSManaged var name: String?
@NSManaged var workout: Set<Workout>?
}
答案 0 :(得分:3)
因此,您正在使用 $.ajax({
type: "POST",
url : "{{url('ajaxteach')}}",
data : dataString,
success : function(data){
console.log(data);
}
s,这意味着它们只会始终包含每个值。因此,无论封闭对象(在本例中为Set
s),都只有一个。你很好 - 重新说明这种关系不会改变任何事情。
NSManagedObject
文件中,重新定义从+NSManagedObjectProperties
到NSSets?
的那些多对多关系。这允许您调用Swift本机函数,并且正常工作,因为Set<MyClass>?
与Set
桥接。NSSet
,这比您的代码定义设置关系的方式更清晰。