быстрая переменная param сравнить с массивом

-2

func gradientOfView(withColours: UIColor..., locations: [NSNumber])

func gradientOfView(withColours: [UIColor], locations: [NSNumber])

Что лучше?

Когда использовать переменную param заменить массив как param?

Теги:
variadic-functions

1 ответ

0
Лучший ответ

переменная функция принимает 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()

приведет к ошибке при компиляции. Если у вас нет веских оснований объявлять функцию с переменным параметром, избегайте ее.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню