Swa*_*and 1 global-variables swift swiftui
我在多个视图中需要一些变量,并且希望用户能够更改这些变量。这些变量编辑链接,因此根据例如经度的不同,结果会有所不同。我从链接获得的值显示在图表中。
所以我希望用户能够为给定变量输入自己的值(在下面的代码中)。我不在乎它是否在同一个视图中,或者是否由两个视图组成,并且变量与图形一起传递到视图。
唯一重要的是,当用户单击按钮时,图形和链接会刷新,以便显示正确的图形。
另一件重要的事情是我需要能够访问顶层的变量。这是我到目前为止的代码,但它显示了错误:
无法将“string”类型的值转换为预期的参数类型“Binding”
import SwiftUI
var month = "1"
var day = "1"
var year = "2020"
var latitude = "59.911232"
var longitude = "10.757933"
var offset = "1.0"
struct ContentView: View {
var body: some View {
GraphView()
TextField(text: latitude)
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
Run Code Online (Sandbox Code Playgroud)
TextField
需要绑定到某些动态属性的真实来源。如果您想全局保留这些值,请将它们包装到视图模型的某个共享实例中,例如
final class Params: ObservableObject {
static let global = Params()
var month = "1"
var day = "1"
var year = "2020"
var latitude = "59.911232"
var longitude = "10.757933"
var offset = "1.0"
}
Run Code Online (Sandbox Code Playgroud)
所以现在我们可以从视图中观察(并更新和绑定)这些参数
struct ContentView: View {
@ObservedObject var global = Params.global
var body: some View {
GraphView()
TextField(text: $global.latitude)
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
444 次 |
最近记录: |