ios - 删除后如何保持一对一记录之间的连接?
问题描述
这个问题有点棘手,所以我会尽力解释清楚。起初,我有 2 个实体,Books
它们Favorites
以一对一的方式连接。
Books
: bookID
, title
Favorites
:bookID
当我点击时,favoriteButton
我执行以下代码:
let favorite = Favorites(context: context)
favorite.bookID = book.id
favorite.book = book
当我想检查这本书是否受欢迎时,我会:
if book.favorite != nil
现在关于问题:
在某些时候,我必须删除ALL
书籍并再次添加它们,例如重置Books
表,当我删除和添加一本书时,它会使用新 ID(内部 CoreData ID,而不是来自服务器)添加它,因此我失去了和之间的Books
连接Favorites
,即使是最喜欢的书仍然存在,并且仍然保留所有值。
我该如何解决这个问题?即使在删除之后,我还能以某种方式保留记录之间的关系吗?在网络中,我会将外键设置为bookID
并与之连接。在这种情况下,我不会失去该连接,但由于 CoreData 通过记录的内部 ID 而非对象进行连接,因此我失去了连接并且无法再检查book.favorite
,它返回nil
.
我希望我能描述我的问题。如果没有,请问我
解决方案
推荐阅读
- java - Selenium 并行测试队列处理
- sql - 删除相同序列号的重复状态
- firebase - {“错误”:{“canonicalCode”:“INVALID_ARGUMENT”,谷歌云
- python - 创建可用性数据框
- firebase - Firebase Analytics 无法找到所有项目
- c# - linq通过分组选择最新记录的列列表时如何防止“对象引用未设置为对象的实例”?
- ios - 我想使用 JTAppleCalender 库显示一个简单的日历,但它显示的是一个空屏幕
- java - 对于持久本地存储,Android Room 与 Cloud Firestore 相比有何优势?
- wpf - XamSchedule (WPF):使用滚动条显示更多周
- c# - MSQM 使用二进制格式化程序发送具有字节数组属性的可序列化消息