UIAlertController memberikan pesan kesalahan konsol

saya memiliki kode berikut untuk menampilkan pesan kesalahan di UIAlertController di IOS 13. Ini berfungsi dengan baik di IOS 11, tetapi sekarang saya mendapatkan kesalahan konsol seperti di bawah ini. Dapatkah seseorang memberi saran bagaimana hal ini dapat diperbaiki, terima kasih.

-(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];


}

kesalahan:

> 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>

person superllanboy    schedule 17.04.2020    source sumber


Jawaban (1)


setelah menyelidiki lebih lanjut masalah ini, saya menemukan bahwa logika saya di tempat lain berpotensi menyebabkan dua pesan peringatan ingin ditampilkan secara bersamaan. Saya tidak ingin merestrukturisasi logika saya, jadi amandemen kode saya berikut ini berhasil. versi Xcode sebelumnya tidak mengeluhkan hal ini, tetapi versi terbaru mengatasi masalah tersebut dan mengeluarkan peringatan.

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

silakan beri komentar jika Anda merasa ini adalah pendekatan yang salah

terima kasih

person superllanboy    schedule 18.04.2020