gpt4 book ai didi

Iphone Web 线程 _WebThreadLockFromAnyThread

转载 作者:行者123 更新时间:2023-12-03 18:37:11 25 4
gpt4 key购买 nike

也许一位 Iphone Guru 可以启发我......

我一直在逐行消除任何使用 UIKit 的线程调用/NSInitation,事实上,我已经 100% 确定除了主线程即...

if([NSThread isMainThread])
{
blah....
Call UIKit Crap here!
and blah....
}

到目前为止一切顺利,但是在我创建了一个线程来执行 http POST 后(使用 LibCurl)我开始得到这个:

“void _WebThreadLockFromAnyThread(bool),0x4d7bbe0:从主线程或Web线程以外的线程获取Web锁。不应从辅助线程调用UIKit。”

就像 WTF...?我什至不能使用线程中的 Curl 来执行网络密集型操作..?我只是把这个该死的东西从主线程移开,以遵守他们(苹果)UIKit 的严格规定,“不要称任何 UIKit 为废话,除了主线程......期间或其他!!!”

因此,我将“UiAlertView & UIActivityIndi​​cator”移回主线程(之前没有错误消息)并创建一个线程来执行curl POST 操作...现在我已经遵守了,然后突然间,我开始收到此消息......?

谁能解释一下我应该把这个网络密集型操作放在哪里,顺便说一句,这将导致任何 UIActivity Indicator 的/UIAlertView 的卡住在他们的轨道上......

提前致谢...

【我只是一个披着羊皮的linux程序员】

最佳答案

好的,答案(与 Curl 或主线程的一些虚构通知完全无关)

任何收到此错误的人,不要认为WEB线程或线程,THINK,UITextViewUIScrollView 或任何其他可能会传递到您的新线程的 View 。

我的问题是 UITextView.text,它作为参数传递给新线程......因此“_WebThreadLockFromAnyThread(bool)”

因此,一个简单的修复方法是将其复制到本地 NSString 并将该副本传递到参数中,传递给新线程(即... Warning: UIKit should not be called from a secondary thread )

[NSThread detachNewThreadSelector: @selector(sendStuff:) toTarget: self withObject: self.textField.text];

当您看到蹄印时,请想到马,而不是斑马。

关于Iphone Web 线程 _WebThreadLockFromAnyThread,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6289309/

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