У меня есть класс, который должен отображать пользовательский баннер уведомлений, чтобы сообщить пользователю, например, успешно ли выполнен вызов API. В настоящее время, если вы хотите использовать этот класс, вы должны передать SuperView
, чтобы баннер отображался в правом окне. Я хочу упростить его, создав переменную с именем private let appWindow: UIWindow = UIApplication.shared.delegate!.window!!
в классе баннера уведомлений, чтобы разработчику не приходилось думать о том, какой вид является супер-представлением. Затем в классе баннеров уведомлений я установил ограничения баннера, используя appWindow
в качестве View
.
По сути, я хочу всегда отображать баннер поверх всех остальных View
независимо от того, является ли это контроллером панели вкладок, контроллером навигации или любым другим типом View
, не зная или не передавая представление. Баннер сам по себе UIView
.
Это нормально, если я использую переменную выше? Это хорошая практика? Есть ли лучший способ, чтобы всегда получать самый верхний вид или супер-вид? Если нет, есть ли лучший способ написать переменную выше?
Спасибо за любую помощь!