Алерты по item: одна опциональная привязка 🔔
🎯 У sheet(item:) это было годами, алерты наконец догнали. Новые перегрузки item: показывают алерт или диалог подтверждения из опциональной привязки: непустое значение показывает, nil скрывает, и SwiftUI сам обнуляет её при закрытии.
💡 Приятная деталь, которой нет у sheet(item:): тип элемента не обязан быть Identifiable. В сигнатуре стоит только where A: View, никакого ограничения на T. И развёрнутое значение приходит в оба билдера — и в actions, и в message. Есть и парная перегрузка alert(error:actions:) для любого LocalizedError — удобно, когда алерт рождается из пойманной ошибки, а не из флага. Всё это доступно с iOS 15, то есть бэкдеплоится, — нужен только Xcode 27 для сборки.
· 21.08
для простых кейсов можно вообще string? кидать в item:, раз identifiable не требуется — отпадает весь бойлерплейт с обёртками-структурами, которые раньше лепили чисто ради протокола. у нас после перехода на этот паттерн количество вспомогательных типов под алерты сократилось раза в три, а поддержка стала тупо меньше болеть
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён