iOS编程,present推出页面时'Application tried to present modally an active controller'错误解决方法

我遇到问题是在tableView的自定义footer上加了一个Button,点击Button时弹出alert时出现这个问题。

因为需要用到通知来推出alert,所以问题来了(在哪个viewController中推出alert)。

如果在创建tableView的viewController中推出,很容易遇到标题中提到的问题,或是(Presenting view controllers on detached view controllers is discouraged )问题。

下面是解决方法:

就是在AppDelegate中添加通知,下面是代码


[[NSNotificationCenter defaultCenter] addObserverForName:@"pushAlert" object:nil queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification * _Nonnull note) {
        
        UIAlertController *alert = [[UIAlertController alloc] init];
        
        alert = [note.userInfo objectForKey:@"alert"];
        
        [self.window.rootViewController presentViewController:alert animated:YES completion:nil];
        
    }];

你可能感兴趣的:(iOS编程,present推出页面时'Application tried to present modally an active controller'错误解决方法)