UIAlertController выдает сообщение об ошибке консоли - PullRequest
0 голосов
/ 18 апреля 2020

У меня есть следующий код, чтобы представить сообщение об ошибке в UIAlertController в IOS 13. Это отлично работало в IOS 11, но теперь я получаю консольную ошибку, как показано ниже. Может кто-то пожалуйста посоветовать, как это можно исправить спасибо.

-(void)errorMessage
    {

    UIAlertController* alert = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Information",information)
                                                                   message:displaymessage
                                                            preferredStyle:UIAlertControllerStyleAlert];

    UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"OK",ok)
                                                            style:UIAlertActionStyleDefault
                                                          handler:^(UIAlertAction * action) {}];

    [alert addAction:defaultAction];

    [self presentViewController:alert animated:YES completion:nil];


}

ошибка:

> 2020-04-18 00:19:07.958139+0100 TrigCalculator[9298:636378] Warning:
> Attempt to present <UIAlertController: 0x7fa448043200>  on
> <UITabBarController: 0x7fa44b008200> which is already presenting
> <UIAlertController: 0x7fa44787fc00>

1 Ответ

0 голосов
/ 18 апреля 2020

после дальнейшего изучения этой проблемы я обнаружил, что моя логика c в другом месте может потенциально вызвать одновременное отображение двух предупреждающих сообщений. Я не хотел реструктурировать свой лог c, поэтому нашел следующее исправление в моем коде. Предыдущие версии XCode не жаловались на это, но последняя версия обнаружила проблему и выдала предупреждение.

if (self.presentedViewController != nil)
{[self.presentingViewController dismissViewControllerAnimated:true completion:nil];}
else
{
[self presentViewController:alert animated:YES completion:nil];
}

, пожалуйста, прокомментируйте, если вы считаете, что это неправильный подход

спасибо

...