我有一个显示一行用户的coredata实体的tableview(table1),以及另一个tableview(table2),它显示了(table1)实体与(table2)实体连接的另一个实体(table2)显示的时间点击(table1)选中的行,我的问题是如何在(table2)中显示(table1)所选行中用户的数据
示例代码:
let fetchdata:NSFetchRequest<entity2> = entity2.fetchRequest()
do {
userList = try myContext.fetch(fetchdata) [of entity1 object]
}catch{
print(error)
}
我已经将(table1)对象作为nsobject传递给(table2)。 有没有办法以正确的方式完成我的功能
答案 0 :(得分:0)
在Xcode的数据模型中,您已经定义了entity1和entity2之间的一对多关系,该关系的名称也是entity1类的一个属性(对于entity2的反向关系,它是相同的)可以用来访问属于entity1实例的所有entity2。
因此,如果关系被命名为“孩子”,那么它可能看起来像这样
let user = userList[indexPath.row]
let entity2List = user.children //This is a Set
答案 1 :(得分:0)
我通过使用NSPredicate
使用这行代码将entity2数据与来自entity1的属性对象连接来解决了这个问题
let myFetch:NSFetchRequest<entity2> = entity2.fetchRequest()
let myPredicate = NSPredicate(format: "toEntity1-relationship == %@", (myTransferdObject?.name!)!)
myFetch.predicate = myPredicate
do {
usersList = try myContext.fetch(myFetch)
}catch{
print(error)
}