【问题标题】:How relationship works in coreDatacoreData 中的关系如何工作
【发布时间】:2015-09-23 03:27:37
【问题描述】:

我知道如何在 coredata 中创建关系,但我不知道它是如何工作的。

例如:

员工: 姓名 身份证

部门: 名字

我可以在'Department'和'Employee'之间创建一个关系(一对多),当我获取'Department'时,我也会自动获取员工。

如果没有关系,我将在部门中创建一个字段(employeeId),并加入'Employee'表。

我不知道 coredata 如何通过关系获取正确的员工。

谢谢

【问题讨论】:

    标签: ios objective-c swift core-data relationship


    【解决方案1】:

    您可以从真正的 sqlite 文件中探索实体是什么。

    例如 我有这种关系

    当我添加三个记录时,我使用 SliteBrowser 查看 SQLite 文件 它有五张桌子

    ZDEPARTMENT 表 ZEMPLOYEE 表

    注意我在ZEMPLOYEE中选择了什么,它保存了ZDEPARTMENT中department的id,所以核心数据关系是如何工作的很清楚。

    注意:

    • Z_PK 在 SQLite 表中是唯一的
    • Z_ENT 是它们的实体 ID,与 Z_PRIMARYKEY 表中列出的 ID 相同

    【讨论】:

    【解决方案2】:

    您可以在 NSFetchRequest 中使用 NSPredicate 获取正确的员工。 NSPredicate 类似于数据库中使用的 where 子句。 请检查:Use NSPredicate in CoreData FetchNSPredicate in CoreData

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2012-06-22
      • 2011-04-23
      • 1970-01-01
      • 1970-01-01
      • 2014-08-12
      • 1970-01-01
      • 1970-01-01
      • 2018-06-29
      • 1970-01-01
      相关资源
      最近更新 更多