我想在我的視圖中從一個帶有按鈕的類中觸發一個函式,但是單擊按鈕時什么也沒有發生。
這是針對 macOS 10.15 應用程式
班級
class StatusBar: ObservableObject {
func testing(){
print("Hello World")
}
}
看法
struct ContentView: View {
@State var stat: StatusBar?
var body: some View {
Button {
stat?.testing()
} label: {
Text("Testing")
}
}
}
uj5u.com熱心網友回復:
您已經宣告StatusBar為 Optional 并且沒有顯示給它一個值的代碼。如果是nil,當你呼叫?.testing()它時什么都不會發生。如果你給它一個值,它就會被呼叫。
其次,由于StatusBar是ObservableObject,它可能應該是@StateObject而不是@State。
class StatusBar: ObservableObject {
func testing(){
print("Hello World")
}
}
struct ContentView: View {
@StateObject var stat = StatusBar()
var body: some View {
Button {
stat.testing()
} label: {
Text("Testing")
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/346317.html
