2
[NSThread detachNewThreadSelector:@selector(colourChange) toTarget:del withObject:nil];

这应该调用类的 delegate(del) 中的 colourChange 方法,但不是吗?

我检查了 del != nil,使用调试器检查了它指向委托的情况。

解决了

dispatch_async(dispatch_get_global_queue(0, 0), 
                           ^{
                               [del colourChange]; 
                          });

检查下面标记答案中的链接以获取更多详细信息。

4

2 回答 2

0

你的方法有错误的签名。它必须采用单个参数(请参阅文档)。

要发送到目标的消息的选择器。此选择器只能接受一个参数,并且不能有返回值。

于 2012-06-15T12:42:11.447 回答
0

据我所知(从核心数据)可以从创建它的线程中调用一个方法。这个问题(有答案)可能对你有用

于 2012-06-15T12:28:56.133 回答