SwiftData|删除对象导致的崩溃问题记录
使用 MVVM 架构时,未及时更新 ViewModel 中的 PersistentIdentifier 数组数据,导致的 App 崩溃问题。
使用 confirmationDialog 组件,提供用户二次确认删除的功能。

在用户确认删除之后,App 会崩溃。
- 后台数据确认删除成功
- SwiftData 模型中的所有属性都是可选类型
问题原因分析
这个问题核心是使用 MVVM 架构导致的。
删除模型对象之后,ViewModel 中的 movieIds
数组未移除该 ID,导致访问错误。
解决方案
在 ViewModel 的 delete
方法中,先从 movieIds 中移除该 ID,再执行 mainContext.delete()
方法。
