Swift Shorthand 像 Flutter 这样的函数?
Swift Shorthand for Functions like Flutter?
我正在写一个 SwiftUI 按钮,我想知道是否有办法让我变成这样的东西 ⤵
Button(action: {
self.textField.value?.becomeFirstResponder()
})
进入⤵
Button(action: => self.textField.value?.becomeFirstResponder())
澄清
self.textField.value?.becomeFirstResponder()
is not a Void
function. 是() -> Bool
类型的函数。但它只是在下面的答案中用作示例。
按钮的选择并不多。我们为简单文本按钮提供了更短的语法:
Button("Title") {
self.textField.value?.becomeFirstResponder()
}
否则,如果按钮比简单文本更复杂,建议使用您的示例:
Button(action: {
self.textField.value?.becomeFirstResponder()
}) {
// Button label here
}
还有机会根据您的情况 textField
来缩短代码(也许可以分享更多相关信息)
Button
操作类型为 () -> Void
:
public init(action: @escaping () -> Void, @ViewBuilder label: () -> Label)
因此,如果您的函数也是 () -> Void
类型:
func buttonAction() {
// ...
}
你可以这样做:
Button(action: buttonAction) {
Text("Button")
}
否则你需要坚持你已经尝试过的或使用另一个init
。
我正在写一个 SwiftUI 按钮,我想知道是否有办法让我变成这样的东西 ⤵
Button(action: {
self.textField.value?.becomeFirstResponder()
})
进入⤵
Button(action: => self.textField.value?.becomeFirstResponder())
澄清
self.textField.value?.becomeFirstResponder()
is not a Void
function. 是() -> Bool
类型的函数。但它只是在下面的答案中用作示例。
按钮的选择并不多。我们为简单文本按钮提供了更短的语法:
Button("Title") {
self.textField.value?.becomeFirstResponder()
}
否则,如果按钮比简单文本更复杂,建议使用您的示例:
Button(action: {
self.textField.value?.becomeFirstResponder()
}) {
// Button label here
}
还有机会根据您的情况 textField
来缩短代码(也许可以分享更多相关信息)
Button
操作类型为 () -> Void
:
public init(action: @escaping () -> Void, @ViewBuilder label: () -> Label)
因此,如果您的函数也是 () -> Void
类型:
func buttonAction() {
// ...
}
你可以这样做:
Button(action: buttonAction) {
Text("Button")
}
否则你需要坚持你已经尝试过的或使用另一个init
。