Какую ссылку выбрать для дочернего объекта, если его время жизни гарантированно не превышает время жизни владельца?
База Hintsage
Программирование Swift
Язык Swift и разработка приложений в экосистеме Apple.
Темы раздела
Выберите подраздел
- 0 вопросов
Общие вопросы
Смешанные вопросы по Swift.
Открыть раздел - 50 вопросов
Swift Core
Типы, функции, структуры, классы и базовая семантика.
Открыть раздел - 49 вопросов
Optionals и система типов
Optionals, value/reference semantics, casting и pattern matching.
Открыть раздел - 50 вопросов
Протоколы и generics
Protocols, extensions, associated types и generic constraints.
Открыть раздел - 50 вопросов
Коллекции и функциональный стиль
Collections, closures, map/filter/reduce и sequences.
Открыть раздел - 50 вопросов
ARC и память
ARC, reference cycles, weak/unowned и время жизни объектов.
Открыть раздел - 50 вопросов
Конкурентность
async/await, actors, tasks и безопасность данных.
Открыть раздел - 2 вопроса
Обработка ошибок
throws, Result, defer и моделирование ошибок.
Открыть раздел
Практика
Вопросы: Программирование Swift
В цикле ссылок между объектом-владельцем и делегатом какую ссылку выбрать, если делегат может исчезнуть раньше владельца?
Какой тип результата возвращает filter у Dictionary в Swift и какое практическое следствие это имеет?
Чем отличается contains(_:) от contains(where:) при поиске в Sequence?
При группировке элементов по ключу как Swift сохраняет все элементы, если один ключ встречается многократно?
Как elementsEqual сравнивает две Sequence разной длины, не вычисляя их размер заранее?
При копировании итератора Swift можно ли считать, что копия всегда продолжит обход независимо от оригинала?
Какой контракт у withContiguousStorageIfAvailable для произвольной Collection?
Вам нужно последовательно обработать элементы вложенных последовательностей без создания промежуточного массива. Какой механизм Swift выбрать и когда вложенные последовательности реально обходятся?
В практической задаче нужно пропустить только начальный участок последовательности по условию. Как drop(while:) решает, когда перестать проверять условие?
Рассмотрите sequence(state:next:): где сохраняется промежуточное состояние между последовательными вызовами итератора?
Два escaping-замыкания захватывают одну локальную переменную var: какое состояние увидит второе после изменения, выполненного первым?
Допустим, обработка Sequence должна прекратиться сразу после достижения условия. Подходит ли для этого reduce?
Допустимо ли использовать map только для побочных эффектов, если результат преобразования не нужен?
Преобразование элементов Set через map даёт уникальную коллекцию или обычный массив?
Какую гарантию даёт underestimatedCount у Sequence и почему его нельзя использовать как точный размер?
Нужно выбрать элементы, сохранив их взаимный порядок. Что будет напечатано и сохраняет ли filter порядок исходной коллекции?
let values = [("A", 2), ("B", 1), ("C", 2), ("D", 1)]
let selected = values.filter { $0.1 == 2 }
print(selected.map { $0.0 })
За счёт какого ограничения mapValues сохраняет тип Dictionary при преобразовании значений?
Что именно копируется в reduce, когда аккумулятором является экземпляр класса?
За счёт чего двунаправленная коллекция может предоставить обратный обход без немедленного копирования элементов?
Показано 101–120 из 301