Изменение параметра withObject для executeSelector до его вызова! - PullRequest
0 голосов
/ 01 марта 2011

Я нахожусь в ситуации, когда мне нужно изменить значение параметра 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 голосов
/ 01 марта 2011

поставить две точки останова (в обратном вызове щелчка CCMenuItemImage и в методе, где вызывается executeSelector) и посмотреть, что сработает первым.99%, если все в порядке, это будет первый случай.Проверьте, действительно ли значение изменилось

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...