SwiftUI 从其他类调用函数

Bla*_*dan 9 function swift swiftui

我在这里有点麻烦:我有一堂课

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

Run Code Online (Sandbox Code Playgroud)

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

struct ContentView: View {

var variable : TempC
variable.GetData()
var body: some View {
        Text("Hello World")
    }
}
Run Code Online (Sandbox Code Playgroud)

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

PS:我得到的错误variable.GetData()是:

  1. 一行中的连续声明必须用“;”分隔
  2. 预期“(”在州声明的参数列表中
  3. 函数声明主体中应为“{”
  4. 实例方法声明中需要“func”关键字
  5. 'variable()' 的重新声明无效

就好像它期望创建一个新函数而不是获取已经存在的函数。

Asp*_*eri 21

根据您在该通话中要做的事情,有多种选择,例如:

选项1

struct ContentView: View {

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

选项 2

struct ContentView: View {

    let variable = TempC()

    var body: some View {
        Text("Hello World")
        .onAppear {
            self.variable.GetData()
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

同样,您可以在 .onTapGesture 或任何其他文件中调用它,在初始化期间传递对类实例的引用等。