Разберите, почему реализация метода из расширения протокола может вызываться в generic-функции, несмотря на одноимённый метод конкретного типа.
База 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
Как наличие associated type влияет на использование протокола как типа значения в Swift?
Почему при приведении значения Any, содержащего типизированный nil, к Optional<Int> результат может иметь внешний some и внутренний nil?
При сопоставлении кортежа в Swift что определяет успешность pattern matching?
Представьте вызов перегруженной функции с аргументом типа Any: определяется ли перегрузка по фактическому типу объекта?
Объясните механизм: почему Swift разрешает передать массив Int как массив Any, но обратное приведение не считается безопасным?
Как правило эксклюзивного доступа Swift влияет на одновременное чтение и изменение одной переменной?
В тернарном выражении одна ветка возвращает String, а другая — nil: какой тип получает результат и почему?
Предскажите результат и объясните, как is учитывает Optional в этом коде:
let value: Int? = 42
print(value is Int)
print(value is Int?)
После уничтожения объекта обращение к unowned-ссылке завершается чем и почему?
Если одно замыкание присвоить двум переменным, создаёт ли это независимые копии захваченного изменяемого состояния?
По значению типа Any.Type определите, описывает ли оно класс, а не структуру.
Практическая ситуация: функция получает экземпляр класса и переназначает свой параметр на новый объект. Изменится ли переменная вызывающего кода?
При захвате изменяемой локальной переменной в escaping-замыкании что определяет видит ли замыкание её последующие изменения?
Что проверяет where после успешного сопоставления шаблона в Swift?
Как Swift формирует Optional вокруг результата try?, если throwing-выражение уже возвращает Optional?
Практическая ситуация: нужно привести гетерогенный массив к массиву целых чисел. Какой результат напечатает код и почему?
let values: [Any] = [1, "2", 3]
let numbers = values as? [Int]
print(numbers == nil)
Какую проблему решает @unknown default в switch по перечислению из библиотеки?
Опишите, как pattern matching в конструкции for обрабатывает коллекцию Optional-значений и что попадает в тело цикла.
Как switch по Optional можно сделать исчерпывающим без default, указав только случаи наличия и отсутствия значения?
Показано 201–220 из 301