首页 > 解决方案 > 在 ObservableObject 中导入变量

问题描述

我想在 ObservableObject 中导入一个实际变量集:

我的代码是:

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

非常感谢。

标签: iosswiftxcodeswiftui

解决方案


我会放在myMainVar观察者类中,这样它就可以在任何功能中使用。然后,标记变量,@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
   }
}

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


推荐阅读