class UserModel: NSObject {
// 类型一 参数可省略 直接给参数赋初值.这类函数参数在外部调用时,已赋初值的参数可直接省略,可以仅调用需要赋值的参数.
//
// 例 1. UserModel().test()
// 2. UserModel().test(name:"name")
// 3. UserModel().test(name:"name",location:"location")
// 注意: 如果一个类中出现多个以test命名但参数不同的函数时,直接调用test(),系统会因为无法识别函数而报错.
func test(name: String = "",age: Int = 0,location: String = "") {
}
// 类型二 参数 数量可变,你可以传入任意数量的参数
// 例 1. UserModel().test(numbers: 1,2,3)
// 2. UserModel().test(numbers: 1,2,3,4,5,6)
func test(numbers:Int ...) {
// 此时 numbers 类似于 [Int]()
for item in numbers {// 可以这么用
}
}
// 类型三 参数值可变 给参数添加 inout 前缀 后name可以被修改.
// 例 var name = ""// 传入的参数需要用 var 修饰.即必须为可变的.
// UserModel().test(name: &name)// 在函数中 传入的参数前要加 & (系统会自动加)
func test(name: inout String) {
name = "other name"
}
}