Как было сказано, некоторые методы массивов возвращают не массив, а значение типа ArraySlice
. К ним относятся к примеру dropLast()
и dropFirst()
. Но у данного правила есть исключение: Если у параметра, которому инициализируется результат выполнения метода тип данных определен, как массив, то возвращаемое значение будет массивом, а не срезом массива. Пример приведен в листинге 1.
Листинг 1
var arr: Array<UInt> = [1,2,3,4,5] var arr2: Array<UInt> = arr.dropLast() type(of: arr2) //Array<UInt>.Type