从其他类调用SwiftUI函数

时间:2019-11-15 19:28:55

标签: swift function swiftui

我在这里遇到了一些麻烦:我上课

class TempC {
    func GetData(){
          //do stuff
    }
}

在ContentView中,我想调用该函数,但是我做不到,出现错误...

struct ContentView: View {

var variable : TempC
variable.GetData()
var body: some View {
        Text("Hello World")
    }
}

或以任何其他方法。我现在如何调用外部函数?

PS:我遇到的错误是与variable.GetData()相同的:

  
      
  1. 一行上的连续声明必须以“;”
  2. 分隔   
  3. 州声明的参数列表中预期的“(”
  4.   
  5. 函数声明正文中应包含“ {”   
  6. 实例方法声明中预期的'func'关键字
  7.   
  8. 无效的“ variable()”重新声明
  9.   

这就像期望创建一个新功能而不要获得已经存在的功能一样。

1 个答案:

答案 0 :(得分:1)

根据您在通话中要做的事情,有一些选择,例如:

选项1

struct ContentView: View {

    let variable = TempC()
    init() {
        variable.GetData()
    }
    var body: some View {
            Text("Hello World")
    }
}

选项2

struct ContentView: View {

    let variable = TempC()

    var body: some View {
        Text("Hello World")
        .onAppear {
            self.variable.GetData()
        }
    }
}

类似地,您可以在.onTapGesture或任何其他名称中调用它,在初始化期间将引用传递给您的类实例,等等。