Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 在函数中传递未知数量的参数_Swift - Fatal编程技术网

Swift 在函数中传递未知数量的参数

Swift 在函数中传递未知数量的参数,swift,Swift,在我当前的项目中,我必须实现多个函数来处理应用程序多个屏幕中不同数量的UITextField 我想如果我能实现一个可以接受任意数量的UITextField的函数,效率会更高 可以在swift 3上实现这一系列功能吗?最简单的方法是传递一个UITextFields数组: func processTextFields(fields:[UITextField]) { for field in fields { // Process your text fields }

在我当前的项目中,我必须实现多个函数来处理应用程序多个屏幕中不同数量的
UITextField

我想如果我能实现一个可以接受任意数量的
UITextField
的函数,效率会更高


可以在swift 3上实现这一系列功能吗?

最简单的方法是传递一个UITextFields数组:

func processTextFields(fields:[UITextField]) {
    for field in fields {
        // Process your text fields
    }
}

我想您可以通过创建一个以UITextField数组为参数的函数来实现

func handle(textFields: [UITextField]) {
    // do your things here by accessing each textFields like : textFields[0]
}
否则,您只需要创建一系列参数,这些参数的数量等于您必须处理的文本字段的数量。 希望这有帮助:)

Swift
可变参数
接受指定类型的零个或多个参数。可变参数的语法是,在参数的类型名称后插入三个句点字符
(…)

func anyNumberOfTextField(_ textField: UITextField...) {

}
现在您可以传递任意数量的文本字段

anyNumberField(UITextField(),UITextField(), UITextField(), UITextField())
注:一个函数最多可以有一个可变参数

有关更多信息,请查看此


还有一种方法叫做
数组参数
。这两种方法各有利弊。你会发现这里的不同。

正是我想要的,谢谢!从来都不知道有这样的事情存在。好兄弟@Muzahidul伊斯兰博士谢谢!!