_cmd关键词是当前方法的缩写。

_cmd关键词是当前方法的缩写。上述代码只会让tenMinutesElapsed方法运行一次。实际上你也可以用_cmd来设置方法调用的预定。假设你需要调用一个方法,这个方法会使用不同的时间间隔来调用,每次方法被调用以后,时间间隔都会发生变化。你的代码看起来会是像下面这样:

-(void) scheduleUpdates{

// 像之前一样预定第一次更新

[self schedule:@selector(irregularUpdate:) interval:1];}

-(void) irregularUpdate:(ccTime)delta{

// 首先,停止方法调用的预定[self unschedule:_cmd];

// 这里我们用随机数来决定下次调用此方法需要经过的时间float nextUpdate = CCRANDOM_0_1() * 10;

// 然后用_cmd来代替选择器,用新的时间间隔来重新预定方法调用

[self schedule:_cmd interval:nextUpdate];}

用_cmd关键词可以让你避免预定(schedule)或者停止预定(unschedule)错

9

误的方法。从长期来说是很有好处的。

你可能感兴趣的:(cmd,float)