Общие вопросы
Смешанные вопросы по 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, не может обобщённо развернуть последовательность в обратном порядке?
За счёт чего двунаправленная коллекция может предоставить обратный обход без немедленного копирования элементов?
Что именно копируется в reduce, когда аккумулятором является экземпляр класса?
За счёт какого ограничения mapValues сохраняет тип Dictionary при преобразовании значений?
Нужно выбрать элементы, сохранив их взаимный порядок. Что будет напечатано и сохраняет ли filter порядок исходной коллекции?
let values = [("A", 2), ("B", 1), ("C", 2), ("D", 1)]
let selected = values.filter { $0.1 == 2 }
print(selected.map { $0.0 })
Какую гарантию даёт underestimatedCount у Sequence и почему его нельзя использовать как точный размер?
Преобразование элементов Set через map даёт уникальную коллекцию или обычный массив?
Допустимо ли использовать map только для побочных эффектов, если результат преобразования не нужен?
Допустим, обработка Sequence должна прекратиться сразу после достижения условия. Подходит ли для этого reduce?
Два escaping-замыкания захватывают одну локальную переменную var: какое состояние увидит второе после изменения, выполненного первым?
Рассмотрите sequence(state:next:): где сохраняется промежуточное состояние между последовательными вызовами итератора?
В практической задаче нужно пропустить только начальный участок последовательности по условию. Как drop(while:) решает, когда перестать проверять условие?
Вам нужно последовательно обработать элементы вложенных последовательностей без создания промежуточного массива. Какой механизм Swift выбрать и когда вложенные последовательности реально обходятся?
Какой контракт у withContiguousStorageIfAvailable для произвольной Collection?
При копировании итератора Swift можно ли считать, что копия всегда продолжит обход независимо от оригинала?
Как elementsEqual сравнивает две Sequence разной длины, не вычисляя их размер заранее?
При группировке элементов по ключу как Swift сохраняет все элементы, если один ключ встречается многократно?
Чем отличается contains(_:) от contains(where:) при поиске в Sequence?
Какой тип результата возвращает filter у Dictionary в Swift и какое практическое следствие это имеет?
В цикле ссылок между объектом-владельцем и делегатом какую ссылку выбрать, если делегат может исчезнуть раньше владельца?
Показано 181–200 из 651