0

我收到一个错误

Obtaining the web lock from a thread other than the main thread or the web thread. UIKit should not be called from a secondary thread

对于代码NSString *tokenString=[NSString stringWithFormat:@"username=%@&password=%@",[[userName.text lowercaseString] MD5],[password.text MD5]];

我正在为 MD5 使用类文件。我从MD5得到的

这个 md5 导致线程锁定我怎样才能删除这个警告

4

4 回答 4

2

当您从辅助线程调用 UIKit 时会发生这种情况......

要解决此问题,请尝试以下

dispatch_sync(dispatch_get_main_queue(), ^{

//Call the function from here

});

或者

[self performSelectorOnMainThread:@selector(yourmethod:)withObject:obj waitUntilDone:YES]
于 2013-08-12T05:53:00.170 回答
1

为避免崩溃,请使用此函数调用主线程上的方法

希望,这将是您的问题的解决方案。

[self performSelectorOnMainThread:@selector(doneButtonAction) withObject:nil waitUntilDone:NO];
于 2013-08-07T12:38:41.850 回答
0

一个类似的问题已经在这里得到回答是它的链接 只是使用

dispatch_async(dispatch_get_main_queue(), ^{      });

在获取密码和用户名的同时,

希望这能解决你的问题

于 2013-05-02T06:11:48.017 回答
0
Obtaining the web lock from a thread other than the main thread or the web thread. UIKit should not be called from a secondary thread

修复在概念上很简单;不要从辅助线程更新 UI。通过调用performSelectorOnMainThread方法从主线程更新 UI

于 2013-05-02T05:20:57.950 回答