Ios 在ObserveObject中导入变量
我想在ObserveObject中导入一个实际变量集: 我的代码是:Ios 在ObserveObject中导入变量,ios,swift,xcode,swiftui,Ios,Swift,Xcode,Swiftui,我想在ObserveObject中导入一个实际变量集: 我的代码是: import SwiftUI struct HomepageView: View { @ObservedObject var obs = observer() var myMainVar: Bool = true var body: some View { // My view here... does not matter } } class observer :
import SwiftUI
struct HomepageView: View {
@ObservedObject var obs = observer()
var myMainVar: Bool = true
var body: some View {
// My view here... does not matter
}
}
class observer : ObservableObject{
init() { // how to import my variable myMainVar inside my init ?
loadDataByAlamofire()
}
private func loadDataByAlamofire() { // how to import this variable in the private func?
var url = "blabla.xyz?boolean="+myMainVar
}
}
非常感谢。我会将
myMainVar
放在observer类中,这样就可以在任何函数中使用它。然后,用@Published
标记变量,以便变量中的任何更改都会触发视图重新加载。最后,通过点语法访问视图中的变量:obs.myMainVar
例如:
import SwiftUI
struct HomepageView: View {
@ObservedObject var obs = observer()
var body: some View {
// My view here... does not matter
// Display value of variable in text
Text("\(obs.myMainVar)")
}
}
class observer : ObservableObject{
@Published var myMainVar: Bool = true
init() { // how to import my variable myMainVar inside my init ?
loadDataByAlamofire()
}
private func loadDataByAlamofire() { // how to import this variable in the private func?
var url = "blabla.xyz?boolean="+myMainVar
}
}
请参阅:您的意思是希望在创建您的
观察者时传入它?完全正确。在执行Alamofire请求之前,我想给我的观测者的init提供一些参数。HomepageView的自定义init可以用来传递信息。不过,您必须初始化存储,而不是包装的值。