在调用performSelector之前更改它的withObject参数!

时间:2011-03-01 17:23:04

标签: cocos2d-iphone

我处于必须更改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的选择器是在某个单独的线程上触发的吗?

1 个答案:

答案 0 :(得分:0)

放两个断点(在CCMenuItemImage中单击回调和调用performSelector的方法)并查看首先触发的内容。 99%,如果一切顺利,这将是第一种情况。检查值是否真的改变了