iOS 18中使用两个Model Context时SwiftData变更无法持久化的问题求助
iOS 18中使用两个Model Context时SwiftData变更无法持久化的问题求助
各位好,我遇到了一个SwiftData在iOS 18测试版里的棘手问题,想向大家求助。我做了一个简化的Demo来复现这个问题——它在iOS 17里运行完全正常,但在最新的iOS 18测试版中出现了异常。
我用到了两个Model Context:一个是通过UI层的@Query宏创建的,另一个是借助Model Actor创建的。根据苹果的文档说明,我们可以创建任意数量的Model Context,但当我尝试用这两个上下文修改数据时,只有UI层的Model Context能持久化变更,而Model Actor上下文做出的修改会在大约20秒后被自动回滚。
复现这个问题的操作步骤如下:
- 创建一条笔记(添加标题和Review ID)
- 切换到Reviews视图(这里会显示Review ID以及关联了该ID的笔记数量)
- 编辑这条笔记,修改Review ID并保存
- 回到Reviews视图——此时能看到你刚才做出的变更
- 切换回Notes视图,等待约20秒后再回到Reviews视图,就会发现之前通过Model Actor上下文做出的修改被回滚了
备注:内容来源于stack exchange,提问作者Marek
相关产品推荐
相关产品推荐

