swift 在视图中,如何在每次按下按钮时使用结构的函数更改视图的变量?

de90aj5v  于 2023-04-28  发布在  Swift
关注(0)|答案(1)|浏览(145)

在内容视图中编码时出现问题。我不明白如何在内容视图中使用struct的func。我想得到你们的帮助。我得到这样的错误“调用'changeText(text:)'的结果未使用”。
这里有一个简单的例子来说明我想实现的目标

import Foundation

public struct Brain {

  public func changeText(text: String) -> String{
    var text = text
    text = "Changed text!"
    return text
  }
}
import SwiftUI

struct ContentView: View {
  @State var tmp: String = "hello"
  var tmpTwo: Brain = Brain()
    var body: some View {
        VStack {
          Button(action: {
            tmpTwo.changeText(text: tmp )
          }, label: {
            Text(tmp)
          })

        }
        .padding()
    }
}
8hhllhi2

8hhllhi21#

你需要这样使用函数的返回值:

import SwiftUI

struct ContentView: View {
  @State var tmp: String = "hello"
  var tmpTwo: Brain = Brain()
    var body: some View {
        VStack {
          Button(action: {
            tmp = tmpTwo.changeText(text: tmp )
          }, label: {
            Text(tmp)
          })
        }
        .padding()
    }
}

相关问题