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)
        }
    }
}

 
     
     
    