gpt4 book ai didi

ios - 通过线程调用函数给出异常

转载 作者:行者123 更新时间:2023-11-29 03:59:41 25 4
gpt4 key购买 nike

我正在使用线程调用我的函数“initialGetMethod”

[NSThread detachNewThreadSelector:@selector(initialGetMethod) toTarget:self withObject:nil];

我的获取方法是

-(void) initialGetMethod
{
self.loginPassword = [[ UIAlertView alloc] initWithTitle:@"Please Login to MFP" message:@"Enter Valid UserID and Password" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:@"Cancel", nil];
[self.loginPassword setAlertViewStyle:UIAlertViewStyleLoginAndPasswordInput];
[self.loginPassword setTag:2];
[self.loginPassword show];
}

但它给出了异常“尝试从主线程或 Web 线程以外的线程获取 Web 锁。这可能是从辅助线程调用 UIKit 的结果。”

它在“[self.loginPassword setAlertViewStyle:UIAlertViewStyleLoginAndPasswordInput];”处给出了异常

如果我将该函数称为“[selfinitialGetMethod];”它没有给出异常(exception),但需要一些时间..

我尝试在后台加载,但它不起作用..(意味着我不希望它在后台)..

请提出一些解决方案..

最佳答案

您在运行应用程序期间遇到的错误是

“尝试从主线程或 Web 线程以外的线程获取 Web 锁。这可能是从辅助线程调用 UIKit 的结果。”

当您在除主线程之外的任何其他线程中更新或访问 UI 元素时,就会发生这种情况(仅使用主线程来访问或更新 UI,它只会对您有帮助)

这里您在后台线程中显示警报,这就是它发生的原因

请使用以下其中一项来弹出警报

  [self performSelector:@selector(initialGetMethod) withObject:nil];

[self performSelector:@selector(initialGetMethod) withObject:nil afterDelay:0.1];

关于ios - 通过线程调用函数给出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16053279/

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