Общие вопросы
Смешанные вопросы по Swift.
Открыть разделБаза Hintsage
Язык Swift и разработка приложений в экосистеме Apple.
Темы раздела
Смешанные вопросы по Swift.
Открыть разделТипы, функции, структуры, классы и базовая семантика.
Открыть разделOptionals, value/reference semantics, casting и pattern matching.
Открыть разделProtocols, extensions, associated types и generic constraints.
Открыть разделCollections, closures, map/filter/reduce и sequences.
Открыть разделARC, reference cycles, weak/unowned и время жизни объектов.
Открыть разделasync/await, actors, tasks и безопасность данных.
Открыть разделthrows, Result, defer и моделирование ошибок.
Открыть разделПрактика
По какому правилу sequence(first:next:) решает, что пора завершить обход?
В объекте хранится escaping-замыкание, которое захватывает этот же объект: почему объект может не освободиться?
В Set два элемента имеют одинаковый хеш. Будет ли один считаться дубликатом другого?
Если во время обхода Array добавить в него элементы, увидит ли текущий итератор новые элементы?
Вложенная последовательность обрабатывается через joined(): элементы какого уровня будут выданы при обходе результата?
Назовите элемент, который вернёт Swift при поиске минимума в последовательности, если несколько элементов считаются равными по критерию сравнения?
Если после создания ленивой цепочки над Array изменить исходный массив, какие элементы увидит последующий обход?
Может ли split(whereSeparator:) сохранить пустые подпоследовательности, возникающие между соседними разделителями?
Возможно ли безопасно использовать индекс одного Array для доступа к другому Array того же размера?
Где joined(separator:) размещает разделители при объединении вложенных последовательностей?
Каким образом allSatisfy завершает обход Sequence, если условие впервые возвращает false?
Сохраняет ли sorted(by:) исходный порядок элементов, равных по компаратору?
При удалении первого элемента из Array в цикле почему операция становится квадратичной по общему числу элементов?
Рассмотрите результат вставки элемента в Set: что означают его два компонента, если эквивалентный элемент уже присутствует?
Вам нужно получить новый массив пользователей с изменёнными именами. Какой механизм Swift делает этот код некорректным и как его исправить?
struct User {
var name: String
}
let users = [User(name: "Анна"), User(name: "Илья")]
let uppercased = users.map { user in
user.name = user.name.uppercased()
return user
}
При разделении изменяемой коллекции предикатом что означает возвращённый индекс?
В этом обобщённом коде определите, для какого значения вычисление count может потребовать обхода всех элементов и почему.
let array = Array(0..<10_000)
let text = String(repeating: "🙂", count: 10_000)
print(array.count)
print(text.count)
Какой порядок сохраняют значения внутри групп при создании словаря через Dictionary(grouping:by:)?
От чего зависит тип результата map, если тип исходной коллекции и тип преобразованных элементов различаются?
Из-за какого требования shuffle() ограничен RandomAccessCollection, хотя перемешать можно элементы любой последовательности?
Показано 481–500 из 651