count
, предназначенное только для чтения (что значит, что Вы не сможете изменить его значения):
var shoppingList = ["Спаржа", "Креветки"]
print("Список покупок содержит следующее количество вещей: \(shoppingList.count).")
// Выведет "Список покупок содержит следующее количество вещей: 2."
isEmpty
в качестве короткой формы для проверки того, что свойство count
равно 0:
if shoppingList.isEmpty {
print("Список покупок пуст.")
} else {
print("Список покупок не пуст.")
}
//Выведет "Список покупок не пуст."
Так как созданный нами список покупок не пуст, то shoppingList.isEmpty
есть ложь, а значит будет выведено соответствующее сообщение.
append(_:)
:
shoppingList.append("Рис")
// shoppingList теперь содержит 3 элемента, а кто-то готовит что-то восточное
shoppingList += ["Васаби"]
// shoppingList теперь содержит 4 элемента
shoppingList += ["Имбирь", "Соевый соус", "Сыр"]
// shoppingList теперь содержит 7 элементов
var firstItem = shoppingList[0]
// firstItem теперь равен "Спаржа"
shoppingList[0] = "6 пакетов спаржи"
// первый элемент списка теперь равен "6 пакетов спаржи", а не "Спаржа"
shoppingList[shoppingList.count] = "Лосось"
для добавления элемента в конец массива, Вы получите ошибку времени выполнения.
shoppingList[4...6] = ["Лосось", "Тунец"]
insert(_:at:)
вставляет новый элемент со значением "Соевый соус" в самое начало списка покупок, имеющее индекс 0.
shoppingList.insert("Соевый соус", at: 0)
// shoppingList теперь содержит 7 элементов
// "Соевый соус" теперь первый элемент в списке
remove(at:)
. Этот метод удаляет элемент с определённой позиции и возвращает удалённое значение (хотя Вы и можете проигнорировать вернувшееся значение, если Вам не нужно использовать его):
let deletedSauce = shoppingList.remove(at: 0)
// элемент, который был на индексе 0, только что был удалён
// shoppingList теперь содержит 6 элементов, но не включает "Соевый соус"
// константа deletedSauce теперь равна удалённой строке "Соевый соус"
count
массива. Наибольший индекс массива имеет индекс count-1
, так как массив индексируется с 0, однако, когда count равен 0 (означает, что массив пуст), нет корректных индексов в принципе.
firstItem = shoppingList[0]
// firstItem снова равен "6 пакетов спаржи"
removeLast()
вместо метода remove(at:)
, дабы избежать необходимости запрашивать свойство count
массива. Как и метод remove(at:)
, метод removeLast()
возвращает удалённое значение:
let tuna = shoppingList.removeLast()
// последний элемент в массиве был только что удалён
// shoppingList теперь содержит 5 элементов, но без "Тунец"
// константа tuna теперь равна удалённой строке "Тунец"
for item in shoppingList {
print(item)
}
Как можно заметить, этот цикл выведет значения всех элементов массива в столбик.
enumerated()
для итерирования через массив. Для каждого элемента в массиве метод enumerated()
возвращает кортеж из этого целого и элемента. Эти целые числа отсчитываются с нуля и включают каждую вещь; если Вы перебираете весь массив, то эти целые числа совпадают с индексами элементов. Вы можете декомпозировать кортеж во временные константы или переменные при этом:
for (index, value) in shoppingList.enumerated() {
print("Вещь \(index+1): \(value)")
}