我处于必须更改withObject参数值的情况。我有以下代码:
[self performSelector:@selector(refreshScore:) withObject:self.args afterDelay:7.0];
self.args是一个简单的NSString,其初始值为@“refreshScore”。当refreshScore被触发时,如果参数中有值,请确保它只是前进,如下所示:
-(void) refreshScore:(NSString *) argument
{
if([argument length] == 0) return;
}
这很好用!但是我接着有一个CCMenu和CCMenuItemImage。当我点击CCMenuItemImage时,会触发另一个选择器,它使self.args = @“”; (空)。但它对refreshScore方法没有任何影响,它仍然表现为self.args填充了初始值。
CCMenuItemImage的选择器是在某个单独的线程上触发的吗?
答案 0 :(得分:0)
放两个断点(在CCMenuItemImage中单击回调和调用performSelector的方法)并查看首先触发的内容。 99%,如果一切顺利,这将是第一种情况。检查值是否真的改变了