gpt4 book ai didi

uikit - UIAlertView 崩溃 iOS7 - 断言失败

转载 作者:行者123 更新时间:2023-12-03 21:00:34 25 4
gpt4 key购买 nike

我对 iOS7 上的 UIAlertView 有疑问。当我启动我的应用程序时,它会崩溃并显示以下消息:

*** Assertion failure in -[UIKeyboardTaskQueue performTask:], /SourceCache/UIKit_Sim/UIKit-2903.2/Keyboard/UIKeyboardTaskQueue.m:388

错误发生在以下行:

- (IBAction)updatePositions:(id)sender{
_alert = [[UIAlertView alloc] initWithTitle:@"text" message:nil delegate:self cancelButtonTitle:nil otherButtonTitles: nil];
[_alert show]; <====== IT CRASHS HERE
[NSThread detachNewThreadSelector:@selector(updateDataThread) toTarget:self withObject:nil];
}

我正在使用 ARC,属性 _alert 设置为:@property (nonatomic,strong)

这个错误看起来很奇怪,因为在 iOS6 上代码完美运行,我不知道在 iOS7 上应该有什么不同。

有人知道错误可能是什么吗?

提前致谢。

最佳答案

我遇到了同样的错误,问题是 UIAlertView 试图从不是主线程的线程中显示。

但是,崩溃并不总是发生,只有当第一个 AlertView 已经显示,而第二个 AlertView 也试图弹出时。

就我而言,一个简单的解决方法是:

    //Your code here
...

//Alert
_alert = [[UIAlertView alloc] initWithTitle:@"text" message:nil delegate:self cancelButtonTitle:nil otherButtonTitles: nil];

dispatch_async(dispatch_get_main_queue(), ^{
//Show alert here
[_alert show];
});

//Resume your code here
...

关于uikit - UIAlertView 崩溃 iOS7 - 断言失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19162508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com