在SwiftUI中,有时我们需要根据对象的状态,动态更改视图上下文菜单的内容:
如上图所示,我们在对象被收藏时更新了上下文菜单的显示内容。
但在默认情况下,上下文菜单不像SwiftUI普通视图那样可以自动刷新以反映对象状态的变化。
那么,上面是如何实现的呢?
别急,让我们马上进入正题。
Let‘s Go!!!
问题分析 1. 强制SwiftUI视图刷新在SwiftUI中,我们一般都会让状态去驱动视图界面的刷新。
不过,有些情况下,我们需要手动强制刷新视图的显示。一般来说,我们可以通过更改视图的相等性来完成这个目的。
在SwiftUI中,每个视图都有一个用来比较相等性的id值(必须遵守Hashable协议),我们可以通过id(_)修改器方法来设置它。
func id<