Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 调用选择器不会在单独的线程中调用委托方法_Objective C_Ios - Fatal编程技术网

Objective c 调用选择器不会在单独的线程中调用委托方法

Objective c 调用选择器不会在单独的线程中调用委托方法,objective-c,ios,Objective C,Ios,这应该调用类“delegatedel”中的colorchange方法,但它没有 我查过德尔!=nil,我使用调试器检查它是否指向委托 决心 [NSThread detachNewThreadSelector:@selector(colourChange) toTarget:del withObject:nil]; 查看下面标记答案中的链接以了解更多详细信息。据我所知,从核心数据可以从创建方法的线程中调用方法。带答案的问题可能对您有用据我所知,从核心数据可以从创建方法的线程调用方法。带答案的问题

这应该调用类“delegatedel”中的colorchange方法,但它没有

我查过德尔!=nil,我使用调试器检查它是否指向委托

决心

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

查看下面标记答案中的链接以了解更多详细信息。

据我所知,从核心数据可以从创建方法的线程中调用方法。带答案的问题可能对您有用

据我所知,从核心数据可以从创建方法的线程调用方法。带答案的问题可能对您有用

您的方法有错误的签名。必须用一个参数才能看到

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


您的方法具有错误的签名。必须用一个参数才能看到

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


检查del不是nil,也在这里发布一些代码您想要什么代码。colorchange方法是简单的-voidcolorchange。检查del是否为nil,并在此处发布一些代码您想要什么代码。颜色改变的方法是简单的-voidcolorchange。干杯,我已经用GCD工作了。这个链接太棒了。如果它起作用,我很高兴。我自己也更喜欢GCD和积木times@ilis:你的第一句话没有意义。Objective-C方法不是创建的,它们也从来没有绑定到特定的线程。@Codo我不知道从哪里读到的,但我记得类似的事情。就我所知,这就是我开始回答的原因。。。如果我能找到我将编辑我的回答,我已经使用GCD工作了。这个链接太棒了。如果它起作用,我很高兴。我自己也更喜欢GCD和积木times@ilis:你的第一句话没有意义。Objective-C方法不是创建的,它们也从来没有绑定到特定的线程。@Codo我不知道从哪里读到的,但我记得类似的事情。就我所知,这就是我开始回答的原因。。。如果我能找到,我将编辑我的答案
dispatch_async(dispatch_get_global_queue(0, 0), 
                           ^{
                               [del colourChange]; 
                          });