Быстрая переменная param сравнить с массивом
func gradientOfView(withColours: UIColor..., locations: [NSNumber])
func gradientOfView(withColours: [UIColor], locations: [NSNumber])
Что лучше?
Когда использовать переменную param, заменить массив как param?
1 ответ
Решение
Функция variadic принимает 0 или более параметров, см. следующий фрагмент
func f0(items: Any...) {
print(type(of: items))
items.forEach { (i) in
print("\t",i)
}
}
func f1(items: [Any]) {
print(type(of: items))
items.forEach { (i) in
print("\t",i)
}
}
f0(items: 1,2)
f1(items: [1,2])
f0(items: [1,2])
f1(items: [1,2])
f0()
это печатает
Array<Any>
1
2
Array<Any>
1
2
Array<Any>
[1, 2]
Array<Any>
1
2
Array<Any>
заявление
f1()
выдаст ошибку при компиляции. Если у вас нет веских причин объявлять функцию с переменным параметром, избегайте ее.