Почему при приведении значения Any, содержащего типизированный nil, к Optional<Int> результат может иметь внешний some и внутренний nil?
База Hintsage
Optionals и система типов
Optionals, value/reference semantics, casting и pattern matching.
Практика
Вопросы: Optionals и система типов
При сопоставлении кортежа в 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, указав только случаи наличия и отсутствия значения?
В чём механизм восходящего приведения экземпляра подкласса к базовому классу через as и почему оно не может завершиться ошибкой во время выполнения?
На границе вызова функции параметр имеет тип Optional<String>, а передаваемый аргумент — String: каким преобразованием Swift принимает аргумент без явного оборачивания?
Показано 1–20 из 49