【发布时间】:2018-07-13 06:13:17
【问题描述】:
概述:
- 我有一个使用
CoreData的iOS应用程序 - 有一个实体叫
Animal - 它有一组记录
Lion、Tiger和Elephant - 我想将只有一个记录标记为收藏。
采用相同方法的类似实体:
- 同样,我可以拥有其他实体,例如
Car、Bike。 - 每个实体都有一组记录。
- 同样,每个实体都应该只有一个最喜欢的记录
原因:
- 应用可以选择创建新文档
- 创建新文档时,将填充每个实体的默认值(通过选择每个实体的收藏记录)
注意:在给定时间只能将一条记录标记为收藏
我想到的可能模型:
1。名为 isFavourite 的字段
- 在
Animal中创建一个名为isFavourite的字段。 - 仅将其中一行标记为
isFavourite为true。 - 维护 isFavourite 的大部分逻辑都在代码中进行管理。
2。名为 Favourite 的单独实体
- 创建一个名为
Favourite的单独表,并在其中包含一个虚拟行。 - 建立从
Favourite到Animal的关系,称为animal。 - 这将指向最喜欢的记录。
问题:
- 解决此问题的首选方法是什么?
- 还有其他选择吗?
【问题讨论】:
标签: ios swift database sqlite core-data