问题现象
在 CoreData 背后加持的 SwiftUI 应用中,我们在视图(View)中往往会采用 @FetchRequest 来查询、排序和过滤我们心仪的托管对象。
不过在上面的示意图中我们发现:虽然 Challenge(挑战)托管对象状态已经变为“失败”,但仍然显示在了最顶部的“正在进行”挑战的 Section 中。这是怎么回事又该如何解决呢?
在本篇博文中,您将学到以下内容
- 问题现象
- 1. SwiftUI 中的 @FetchRequest 属性包装器
- 2. 满腹狐疑的“栗子”
- 3. 解决之道:抽丁拔楔
- 总结
- 结束语
同一个 CoreData 托管对象更改后在 SwiftUI “真相之源”中往往出现无法正确同步的问题,想知道如何冰解的破吗?
无需等待,Let‘s fix it!!!😉
1. SwiftUI 中的 @FetchRequest 属性包装器
大家都知道在 SwiftUI 里为了方便的查询(Query)和过滤(Filtering)CoreData 中托管对象集合,我们往往使用专门的属性包装器 @FetchRequest 来排忧解难: