如何从iOS 8中的Core Data中的关系中获取数据?

时间:2015-05-04 11:21:03

标签: core-data

我有两个实体员工和部门。两者都与关系有关,即1对M和M对1。部门有一个名为MANAGERID的属性,代表该部门经理的员工ID。

现在我需要获取DeptName和管理员名称。如何编写谓词格式字符串? 注意:我在iOS 8.3中使用Xcode 6.3和Swift 1.2

先谢谢。

1 个答案:

答案 0 :(得分:0)

如果您遵循Apple's documentation中描述的常规设置,则不需要ID。访问员工部门

let department = employee.department

获得部门的所有员工

let employees = department.employees // returns NSSet or [Employee]

遵循对象图的设计模式,而不是在Department对象中保存一个manager id,你应该只与管理者建立一对一的关系。

let manager = department.manager // returns an Employee

这意味着你需要一个单独的经理关系:

Department.employees <----->> Employee.department
Department.manager   <------> Employee.managedDepartment

另请注意,像MANGAERID这样的全大写属性名称在核心数据中是非法的。