写更少的 SwiftUI 代码 —— Namespace

写更少的 SwiftUI 代码 —— Namespace

你是否写过这样的代码:DetailView(namespace: namespace, isSource: selected == nil)

或者这样的:DetailView(namespace: Namespace().wrappedValue, isSource: false)

这基本上是每一次写 Hero 动画时必不可少的两个参数。

如果还有更复杂的需求,一个 View 可能会有更多的参数需要传递。

其实,很久之前我就在想,如果把 Namespace 以环境变量的方式注入,那么就可以不用再写 namespace 这个参数了,岂不美哉?

阅读更多