Ответ
Массив в Swift имеет тип Array<Element>, где Element — тип хранимых элементов. Это generic value type (универсальный тип-значение).
Основные характеристики:
- Value Semantics (Семантика значения): При присваивании или передаче массива создается его новая копия (при условии Copy-on-Write оптимизации).
var array1 = [1, 2, 3] var array2 = array1 // На этом этапе может использоваться общий буфер array2.append(4) // Теперь создается отдельная копия для array2 print(array1) // [1, 2, 3] print(array2) // [1, 2, 3, 4] - Универсальность (Generic): Может хранить элементы любого одного типа.
let strings: Array<String> = ["A", "B"] let numbers = [1, 2, 3] // Тип выведен как Array<Int> - Соответствие протоколам:
Arrayсоответствует протоколамCollection,Sequence,ExpressibleByArrayLiteral.
Отличие от NSArray: Swift Array — это тип-значение из стандартной библиотеки, а NSArray из Foundation — это неизменяемый ссылочный тип класса.