我有这段代码,并希望 ab 作为文本。
结果:aa -> 参见屏幕截图。我究竟做错了什么?
import SwiftUI
class PublishString : ObservableObject {
init(string: String) {
self.string = string
print(self.string)
}
@Published var string : String = "a"
}
struct ContentView: View {
@EnvironmentObject var text1 : PublishString
@EnvironmentObject var text2 : PublishString
var body: some View {
VStack {
Text(text1.string)
Text(text2.string)
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView().environmentObject(PublishString(string: "a"))
.environmentObject(PublishString(string: "b"))
}
}
Run Code Online (Sandbox Code Playgroud)
并且......这有效:
class PublishString : ObservableObject {
init(string: String) {
self.string = string
print(self.string)
}
@Published var string : String = "a"
}
class PublishString2 : ObservableObject {
init(string: String) {
self.string = string
print(self.string)
}
@Published var string : String = "a"
}
struct ContentView: View {
@EnvironmentObject var text1 : PublishString
@EnvironmentObject var text2 : PublishString2
var body: some View {
VStack {
Text(text1.string)
Text(text2.string)
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1390 次 |
| 最近记录: |