SwiftData|ModelActor 与withAnimation 动画
了解如何在使用 ModelActor 操作数据时,正确添加动画效果。

withAnimation
必须在同步中执行,在异步中无法正常工作。
这意味着,在 ModelActor
中使用 withAnimation
,动画永远不会生效。
解决方案
在 View 中更新数据(适用于查询统计数据)
如果是统计数据的更新,可以让 DataActor 方法计算并返回数据,然后在主线程中进行赋值,此时使用 withAnimation 添加动画。
例如,在 MONO 项目中的使用方式:

但这不适用于添加数据、删除数据或者修改数据。
使用 .animation()
在 View 组件中,使用 .animation() 来添加动画。