我想在视图控制器上进行一些切换,具体取决于用户是否允许/不注册通知。这个视图第一次加载和
appDelegate.registerForNotifications(UIApplication.sharedApplication())
在ViewDidLoad中调用,显示AlertController,并且viewController按预期完成其布局,因此如果用户允许/不通知则缺少任何依赖性。
我知道我可以在应用程序启动后立即显示注册警报,但我想等待在此视图控制器中请求权限,因为它仅与此视图相关,而不是之前的其他视图。
在调用viewWillAppear之前有没有办法捕获UIAlertAction?
答案 0 :(得分:2)
在调用viewWillAppear之前有没有办法捕获UIAlertAction?
不,也不应该。您不会在 viewDidLoad
,viewWillAppear
之前执行之类的操作,等等。您在这些方法中的工作是根据需要进行响应(例如,通过初始化),然后尽可能快地完成。您不得以任何方式延迟视图控制器的外观。
相反,重新考虑您的架构。
视图控制器的视图将会出现。所以就这样吧!如果您担心,如果用户不允许注册,则不应启用按钮,然后从禁用按钮开始,只有在您知道(或在警报操作处理程序中学习)它之后启用它现在允许了。
或者,如果此视图控制器完全取决于允许注册的用户,请将注册移至应用的早期阶段,甚至不允许用户在没有注册的情况下来到这里!