【问题标题】:SwiftUI Calling functions from other classSwiftUI 从其他类调用函数
【发布时间】:2019-11-15 19:28:55
【问题描述】:

这里有点麻烦:我有课

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. 实例方法声明中应包含“func”关键字
  5. “variable()”的重新声明无效

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

【问题讨论】:

  • 请将错误添加到您的问题中。

标签: swift function swiftui


【解决方案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 或其他任何方式中调用它,在初始化期间传递对您的类实例的引用等。

【讨论】:

  • 很好的回应!使用了UIKIT风格的调用函数和方法,这里我看到我需要做一个动作什么的。
  • 如果 variable.GetData() 返回一个元组,那么如何在 var body: some View 中访问它
猜你喜欢
  • 2013-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多