2010-10-30 70 views
0

笔尖特性的方法我是主叫doSaveItems:像调用改变使用detachNewThreadSelector

[NSThread detachNewThreadSelector:@selector(doSaveItems:) toTarget:self withObject:aObject]; 

doSaveItems:方法具有代码到我的出口中的一个的引用:

[uiProgressLedIdle setHidden:YES]; 
当然,我的

在这个方法里面设置一个autorelease池。 问题是[uiProgressLedIdle setHidden:YES];对我的GUI没有效果时,我把这种方法用detachNewThreadSelector:toTarget:withObject:如果我把它叫做[自我doSaveItems:aObject]一切都很好,我的uiProgressLedIdle是隐藏的! 我失去了我的任何建议? 谢谢!

回答

4

UIKit的不是线程安全的;总是从主线程中拨打电话。

当然

,你能够在iOS中使用多线程 - 但你把你的下载和其他阻止请求辅助线程。当工作完成后,使用performSelectorOnMainThread:通知负责更新UI对象的对象。这个调用将在下一次主线程运行循环的调用中发生。

+0

谢谢!确实如预期的那样工作! – Vassilis 2010-10-30 18:26:20