Объясните механизм rethrows: когда функция с этим модификатором может завершиться ошибкой?
База Hintsage
Swift Core
Типы, функции, структуры, классы и базовая семантика.
Практика
Вопросы: Swift Core
Завершите разбор ситуации: почему добавление нового варианта перечисления может сделать ранее компилировавшийся switch ошибочным?
Типу нужно хранить одно общее значение для всех его экземпляров: какой механизм Swift подходит для этого?
Владелец типа публикует свойство, которое внешним клиентам нужно читать, но нельзя менять: какой механизм Swift задаёт разные права доступа?
Замена generic-параметра на Any в функции-эхе: почему результат перестаёт иметь точный статический тип?
Сравните some Protocol и any Protocol в Swift: как различаются скрытие конкретного типа и работа с экземпляром протокола?
От чего зависит автоматическое наследование инициализаторов суперкласса подклассом в Swift?
В чём семантическое отличие обычного Optional от implicitly unwrapped optional при чтении значения, равного nil?
Какие условия позволяют Swift автоматически синтезировать Equatable для структуры?
Как контекст объявления влияет на тип целочисленного литерала в Swift?
У вас есть базовый класс с обязательным инициализатором, а наследник объявляет собственный designated-инициализатор. Какую гарантию Swift проверяет через required в этом коде?
class Base {
required init() {}
}
class Child: Base {
let value: Int
init(value: Int) {
self.value = value
}
}
Что определяет метку аргумента функции при её вызове в Swift?
Какое ограничение Swift не позволяет добавить хранимое свойство в extension уже объявленного типа?
Значение произвольного типа сохранили в Any. Как Swift определяет, удастся ли безопасно извлечь его обратно в конкретный тип?
В публичной структуре все хранимые свойства объявлены публичными, но внешний модуль не может вызвать автоматически созданный поименованный инициализатор. Какое правило Swift объясняет это поведение?
Функция возвращает результат, который вызывающий код намеренно игнорирует: как в Swift выразить это намерение без предупреждения компилятора?
Как меняется контракт протокола после добавления ограничения AnyObject?
Наблюдается следующий код. Какой результат напечатает программа и почему второй вызов не создаёт частично инициализированный экземпляр?
struct Port {
let number: Int
init?(number: Int) {
guard (1...65535).contains(number) else { return nil }
self.number = number
}
}
let valid = Port(number: 443)
let invalid = Port(number: 0)
print(valid != nil, invalid == nil)
Зачем рекурсивному перечислению Swift требуется пометка indirect?
Какую роль играет явное обращение к self внутри escaping-замыкания Swift?
Показано 1–20 из 50