iOS 13, Swift 5, Xcode 11.3.1
Learning SwiftUI. Я собрал это вместе, и это работает, но это правильно.
В External.swift
class BlobModel: ObservableObject {
@Published var score: String = ""
}
var globalBlob = BlobModel()
В ContentView.swift
struct ContentView: View {
@ObservedObject var globalBlob:BlobModel
var body: some View {
Text("\(globalBlob.score)")
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView(globalBlob: globalBlob)
}
}
Когда я пишу в globalBlob в External.swift , он обновляет отображение.
globalBlob.score = backToString
Но globalBlob - это глобальная переменная, что, безусловно, является плохой практикой кодирования. Есть ли лучший способ, которым я должен был это сделать?