在我当前的项目中,我必须实现多个函数来处理UITextField我的应用程序的多个屏幕中的不同数量.
我想如果我能实现一个可以占用任何数量的函数会更有效率UITextField.
是否有可能在swift 3上实现这个功能?
iMu*_*hid 12
Swift Variadic Parameters接受指定类型的零个或多个参数.可变参数的语法是,(...)在参数的类型名称后插入三个句点字符.
func anyNumberOfTextField(_ textField: UITextField...) {
}
Run Code Online (Sandbox Code Playgroud)
现在你可以传递任意数量的textField.
anyNumberField(UITextField(),UITextField(), UITextField(), UITextField())
Run Code Online (Sandbox Code Playgroud)
注意:函数最多可以包含一个可变参数.
有关更多信息,请查看此Swift函数
还有另一种方法可以做到这一点Array Parameter.这两种方法有一些优点和缺点.你会发现这里的差异链接.
小智 5
最简单的方法是传递一组UITextField:
func processTextFields(fields:[UITextField]) {
for field in fields {
// Process your text fields
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
405 次 |
| 最近记录: |