СПРАВОЧНИК
Стандартная библиотека Swift
Array, String, Dictionary, Optional
Алфавитный справочник по стандартной библиотеке Swift. Здесь собраны самые востребованные методы и свойства коллекций (Array, Dictionary, Set), работы со строками (String), опционалов (Optional) и числовых типов. Для каждой записи указана сигнатура, краткое описание и рабочий пример с результатом.
Числа и прочее 8
abs(_:)
func abs<T: Comparable & SignedNumeric>(_ x: T) -> TАбсолютное значение числа.Double(_:)
init?(_ text: String)Преобразование в число с плавающей точкой.Int(_:)
init?(_ text: String)Преобразование в целое число.max(_:_:)
func max<T: Comparable>(_ x: T, _ y: T) -> TБольшее из двух (или нескольких) значений.min(_:_:)
func min<T: Comparable>(_ x: T, _ y: T) -> TМеньшее из двух (или нескольких) значений.stride(from:to:by:)
func stride<T>(from: T, to end: T, by stride: T.Stride) -> StrideTo<T>Последовательность с заданным шагом.String(_:)
init<T>(_ value: T)Преобразование значения в строку.zip(_:_:)
func zip<A, B>(_ a: A, _ b: B) -> Zip2Sequence<A, B>Попарно объединяет две последовательности.Array 25
Array.append(_:)
mutating func append(_ newElement: Element)Добавляет элемент в конец массива.Array.compactMap(_:)
func compactMap<T>(_ transform: (Element) -> T?) -> [T]Преобразует и отбрасывает nil.Array.contains(_:)
func contains(_ element: Element) -> BoolПроверяет наличие элемента.Array.count
var count: Int { get }Количество элементов в массиве.Array.enumerated()
func enumerated() -> EnumeratedSequence<[Element]>Пары (индекс, элемент) для перебора.Array.filter(_:)
func filter(_ isIncluded: (Element) -> Bool) -> [Element]Оставляет элементы, удовлетворяющие условию.Array.first
var first: Element? { get }Первый элемент или nil.Array.firstIndex(of:)
func firstIndex(of element: Element) -> Int?Индекс первого вхождения элемента.Array.flatMap(_:)
func flatMap<S>(_ transform: (Element) -> S) -> [S.Element]Преобразует в последовательности и склеивает их.Array.forEach(_:)
func forEach(_ body: (Element) -> Void)Выполняет замыкание для каждого элемента.Array.insert(_:at:)
mutating func insert(_ newElement: Element, at i: Int)Вставляет элемент по указанному индексу.Array.isEmpty
var isEmpty: Bool { get }Проверяет, пуст ли массив.Array.joined(separator:)
func joined(separator: String) -> StringСклеивает массив строк через разделитель.Array.last
var last: Element? { get }Последний элемент или nil.Array.map(_:)
func map<T>(_ transform: (Element) -> T) -> [T]Преобразует каждый элемент в новое значение.Array.max()
func max() -> Element?Максимальный элемент или nil.Array.min()
func min() -> Element?Минимальный элемент или nil.Array.prefix(_:)
func prefix(_ maxLength: Int) -> ArraySlice<Element>Первые n элементов.Array.reduce(_:_:)
func reduce<R>(_ initial: R, _ next: (R, Element) -> R) -> RСворачивает массив в одно значение.Array.remove(at:)
mutating func remove(at index: Int) -> ElementУдаляет и возвращает элемент по индексу.Array.removeLast()
mutating func removeLast() -> ElementУдаляет и возвращает последний элемент.Array.reversed()
func reversed() -> ReversedCollection<[Element]>Возвращает элементы в обратном порядке.Array.sort()
mutating func sort()Сортирует массив на месте.Array.sorted()
func sorted() -> [Element]Возвращает отсортированную копию массива.Array.suffix(_:)
func suffix(_ maxLength: Int) -> ArraySlice<Element>Последние n элементов.Dictionary 9
Dictionary.count
var count: Int { get }Количество пар в словаре.Dictionary.filter(_:)
func filter(_ isIncluded: ((key: Key, value: Value)) -> Bool) -> [Key: Value]Оставляет пары по условию.Dictionary.keys
var keys: Dictionary<Key, Value>.Keys { get }Коллекция всех ключей.Dictionary.mapValues(_:)
func mapValues<T>(_ transform: (Value) -> T) -> [Key: T]Преобразует значения, сохраняя ключи.Dictionary.merging(_:uniquingKeysWith:)
func merging(_ other: [Key: Value], uniquingKeysWith: (Value, Value) -> Value) -> [Key: Value]Объединяет два словаря.Dictionary.removeValue(forKey:)
mutating func removeValue(forKey key: Key) -> Value?Удаляет пару по ключу.Dictionary subscript
subscript(key: Key) -> Value? { get set }Доступ к значению по ключу.Dictionary.updateValue(_:forKey:)
mutating func updateValue(_ value: Value, forKey key: Key) -> Value?Обновляет значение и возвращает старое.Dictionary.values
var values: Dictionary<Key, Value>.Values { get }Коллекция всех значений.Optional 5
Optional binding: guard let
guard let value = optional else { return }Раннее разворачивание с выходом.Optional binding: if let
if let value = optional { /* ... */ }Безопасное разворачивание опционала.Optional.flatMap(_:)
func flatMap<U>(_ transform: (Wrapped) -> U?) -> U?Преобразует, избегая вложенных опционалов.Optional.map(_:)
func map<U>(_ transform: (Wrapped) -> U) -> U?Преобразует значение внутри опционала.Оператор ?? (nil-coalescing)
func ?? (optional: Wrapped?, defaultValue: Wrapped) -> WrappedЗначение по умолчанию для nil.Set 6
Set.contains(_:)
func contains(_ member: Element) -> BoolПроверяет наличие элемента.Set.insert(_:)
mutating func insert(_ newMember: Element) -> (inserted: Bool, memberAfterInsert: Element)Добавляет элемент во множество.Set.intersection(_:)
func intersection(_ other: Set<Element>) -> Set<Element>Пересечение двух множеств.Set.remove(_:)
mutating func remove(_ member: Element) -> Element?Удаляет элемент из множества.Set.subtracting(_:)
func subtracting(_ other: Set<Element>) -> Set<Element>Разность множеств.Set.union(_:)
func union(_ other: Set<Element>) -> Set<Element>Объединение двух множеств.String 13
String.components(separatedBy:)
func components(separatedBy separator: String) -> [String]Разбивает строку по строковому разделителю.String.contains(_:)
func contains(_ other: String) -> BoolПроверяет наличие подстроки.String.count
var count: Int { get }Количество символов в строке.String.hasPrefix(_:)
func hasPrefix(_ prefix: String) -> BoolПроверяет начало строки.String.hasSuffix(_:)
func hasSuffix(_ suffix: String) -> BoolПроверяет конец строки.String.isEmpty
var isEmpty: Bool { get }Проверяет, пуста ли строка.String.lowercased()
func lowercased() -> StringПереводит строку в нижний регистр.String.prefix(_:)
func prefix(_ maxLength: Int) -> SubstringПервые n символов строки.String.replacingOccurrences(of:with:)
func replacingOccurrences(of target: String, with replacement: String) -> StringЗаменяет все вхождения подстроки.String.split(separator:)
func split(separator: Character) -> [Substring]Разбивает строку по разделителю.String.suffix(_:)
func suffix(_ maxLength: Int) -> SubstringПоследние n символов строки.String.trimmingCharacters(in:)
func trimmingCharacters(in set: CharacterSet) -> StringУбирает символы с краёв строки.String.uppercased()
func uppercased() -> StringПереводит строку в верхний регистр.