访问文本字段时,警告其他线程获取locking

我有一个名为_passwordTextFieldUITextField ,我隐藏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 }); 

更新:请再次检查您的代码。 在处理线程问题的时候,不要在哪一行发生这个警告,你需要注意,但是你需要看完整。 看看整个方法是从主线程还是后台线程调用