Какая типичная ошибка при работе с @available и availability checks и как ее избежать?
Что хотят услышать интервьюеры:
Частая ошибка: знать синтаксис, но не понимать влияние на mutability, optional safety, protocol dispatch, performance и читаемость API.
Ответ:
Как избежать: явно сформулировать ответственность «@available и availability checks», не смешивать ее с соседними слоями и проверить сценарии: повторный вызов, ошибка, отмена, освобождение памяти и разные версии iOS.
Нюанс: необходимо для поддержки нескольких iOS версий.
На собеседовании: полезно назвать симптом ошибки: crash, leak, race condition, stale UI, broken navigation, slow scroll или flaky test.
if #available(iOS 17, *) { }