访问文本字段时,警告其他线程获取locking
我有一个名为_passwordTextField
的UITextField
,我隐藏input:
[_passwordTextField setSecureTextEntry:YES];
每次我用passwordTextField.text
访问字段的文本时,我都会看到这样的警告:
void _WebThreadLockFromAnyThread(bool),0x9077460:从主线程或Web线程以外的线程获取Weblocking。 不应该从辅助线程调用UIKit。
我如何删除此警告?
这与UITextField
无关。 iOS的UIKit
需要任何直接的操作UI来完成主线程而不是后台线程。
如果你这样做,你的应用程序将是不稳定的,在某些情况下,甚至可能会崩溃。 因此, 通常不要从后台线程更新UIKit元素。 请检查您的代码。
如果您使用iOS> = 4,则可以使用GCD来代替:
dispatch_async(dispatch_get_main_queue(), ^{ [self doSomething:1 b:2 c:3 d:4 e:5]; //changes UI method });
更新:请再次检查您的代码。 在处理线程问题的时候,不要在哪一行发生这个警告,你需要注意,但是你需要看完整。 看看整个方法是从主线程还是后台线程调用