Общие вопросы
Смешанные вопросы по 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 и моделирование ошибок.
Открыть разделПрактика
При передаче функции как значения в параметр, допускающий ошибки, почему обычная функция совместима с ним, но throwing-функция — нет с параметром без обработки ошибок?
Являются ли метки аргументов частью типа функции в Swift?
При инициализации класса свойство по умолчанию обращается к self: почему Swift запрещает это до завершения инициализации?
Разберите последствия: чем отличается переполнение обычного целочисленного сложения от переполнения с оператором wrapping в Swift?
В библиотеке класс объявлен как public или open: какое различие это создаёт для наследования из другого модуля?
Допустим, подкласс переопределяет унаследованное хранимое свойство, добавляя ему willSet и didSet. Какие наблюдатели сработают при изменении этого свойства через экземпляр подкласса?
К чему относится self внутри статического метода Swift?
В какой момент Swift разрешает присваивание хранимому свойству класса, объявленному как let, и что меняется после завершения designated-инициализатора?
Как трактуется сравнение значения NaN с самим собой в Swift?
Определите вывод программы и объясните, что происходит при создании перечисления из неизвестного исходного значения:
enum HTTPStatus: Int {
case ok = 200
case notFound = 404
}
let success = HTTPStatus(rawValue: 200)
let missing = HTTPStatus(rawValue: 201)
print(success == HTTPStatus.ok, missing == nil)
При передаче existential-значения протокола с associatedtype в generic-функцию почему Swift не может использовать его как конкретный тип, удовлетворяющий этому протоколу?
Как ключевое слово dynamic меняет выбор реализации метода класса по сравнению с обычным Swift-вызовом?
В разборе switch: почему после выполненной ветви Swift не переходит автоматически к следующей?
Можно ли напрямую вызвать deinit экземпляра класса в Swift, если нужно досрочно освободить его ресурсы?
Что означает тип Void у результата функции Swift?
Может ли вложенный тип Swift автоматически обратиться к экземпляру внешнего типа?
В протоколе свойство доступно для чтения и записи, но реализация объявляет его как let. Почему Swift отклоняет такую реализацию?
Разберите правило переопределения свойства класса: может ли подкласс заменить доступное для чтения и записи свойство свойством только для чтения?
Какую разрядность имеет Int в Swift на разных целевых платформах и когда это важно учитывать?
При проектировании перечисления, чей экземпляр должен переключаться между case в mutating-методе: как Swift разрешает такую замену состояния?
Показано 321–340 из 651