我有两个uiview控制器。我在第一个viewcontroller中使用NSThread并且它的工作完美。有时候线程在firstviewcontroller中运行,那个时候我想去Secondviewcontroller。这个动作停止了我的firstviewcontrollr线程..
我怎么能解决这个问题...任何人都可以帮助我吗? 提前致谢
答案 0 :(得分:1)
如果你能澄清这个问题会很好,因为很难准确理解你想做什么以及问题是什么。通常,UI代码应该始终在主线程中运行。这在Cocoa文档中已明确说明,并且您将无法成功使多个线程尝试控制UI。
如果要在其他线程中运行代码并让它们影响UI,则需要实现将信息传递给主线程的机制。一个派上用场的方法是NSObject的
performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait;
如果要使用通知,则必须在主线程上分发它们。如果你不坚持这个原则很容易让人产生混乱的错误(虽然事情似乎最初可能会起作用)。