我有一个2线程的Iphone应用程序。一个是听服务器,另一个是UIKit,OpenGl。
我需要运行一个方法来更新来自辅助线程的视图,该辅助线程监听处理视图的主线程上的服务器,所以我使用了
performSelectorOnMainThread:@selector"createGuessingView" withObject:nil waitUntilDone:YES
但由于某种原因,该方法永远不会被执行。在方法的开头放置断点或printf表明它从未被调用过。我真的很难过。我已经在同一个程序中使用performselectoronmainthread
来更新文本字段,并且它可以完美地工作。
编辑:
想出来:) 问题是我在使用performSelectorOnMainThread的对象是在主线程中初始化(甚至分配)对象之前由此线程设置的。因此,引用指向null,并且选择器未被识别。
感谢您的帮助
答案 0 :(得分:2)
不应该是:
@selector(createGuessingView)
没有引号。
-
编辑(回应评论)
你方法的签名是什么?如果是:
- (void)createGuessingView:(id)something
然后你应该记住冒号,就像@selector(createGuessingView :)
一样