【发布时间】:2020-07-17 00:45:12
【问题描述】:
每当我调用视图 CardronaView() 时,@State 变量将在大约 3 秒内加载正确的数据,然后它将被重置为默认值,即空字符串。我怎样才能解决这个问题?我用这个来调用新视图:
NavigationView {
List {
// MARK: - Display Cardrona
NavigationLink(destination: CardronaView()) {
ZStack(alignment: .topLeading) {
Image("Cardrona-header")
Text("Cardrona").font(.largeTitle).fontWeight(.semibold).foregroundColor(Color.black)
Text(cardTemp).foregroundColor(Color.black).padding(.top, 50).font(.title3)
}
}
}
}
新视图中的代码是这样的:
struct CardronaView: View {
@State var cardDate: String = ""
var body: some View {
List {
Text(cardDate)
}.onAppear {
Api().getJsonCard { (Cardrona) in
cardDate = "\(Cardrona.data_updated)"
}
}
}
}
【问题讨论】:
-
如果你通过某种数据模型从第一视图传递数据,你会得到更好的结果。也使用像这种云这样的东西是更好的方法@ObservedObject
标签: swiftui