我正试图从这里众所周知的新手深渊中爬出来。
我开始掌握 @EnvironmentObject 的使用,直到我注意到文档中的 .environmentObject() 视图运算符。
这是我的代码:
import SwiftUI
struct SecondarySwiftUI: View {
@EnvironmentObject var settings: Settings
var body: some View {
ZStack {
Color.red
Text("Chosen One: \(settings.pickerSelection.name)")
}.environmentObject(settings) //...doesn't appear to be of use.
}
func doSomething() {}
}
我试图用视图上的 .environmentObject() 运算符替换 @EnvironmentObject 的使用。
我因缺少“设置”定义而出现编译错误。
但是,如果没有 .environmentObject 运算符,代码可以正常运行。
所以我的问题是,为什么有 .environmentObject 运算符?
.environmentObject() 是否实例化 environmentObject 而 @environmentObject 访问实例化对象?