I have this code and would expected a b as Text.
Result: a a -> see screenshot. What am I doing wrong?
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"))
}
}
and ...this works:
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)
}
}
}