简体   繁体   English

在 ObservableObject 中导入变量

[英]Import variable in an ObservableObject

I would like to import an actual variable set inside an ObservableObject:我想在 ObservableObject 中导入一个实际变量集:

My code is:我的代码是:

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

Thanks a lot.非常感谢。

I would put myMainVar within the observer class so it can be used within any of the fuctions.我会将myMainVar放在观察者 class 中,这样它就可以在任何功能中使用。 Then, mark the variable with @Published so that any changes in the variable trigger a view reload.然后,用@Published标记变量,以便变量中的任何更改都会触发视图重新加载。 Finally, access the variable in your view via dot syntax: obs.myMainVar .最后,通过点语法访问视图中的变量: obs.myMainVar

For example:例如:

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

See: https://www.hackingwithswift.com/quick-start/swiftui/observable-objects-environment-objects-and-published请参阅: https://www.hackingwithswift.com/quick-start/swiftui/observable-objects-environment-objects-and-published

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM