问候!!
我有以下功能:
-(void) doMainBrick
{
NSTimer * timer = [NSTimer scheduledTimerWithTimeInterval:0.1
target:self
selector:@selector(dropBrick:)
userInfo:nil
repeats:YES];
}
-(void) dropBrick:(NSTimer*) timex
{
//deal something
[self SwitchBrick];
}
我想知道是否有可能,如果dropBrick
函数的行数大于scheduledTimerWithTimeInterval
(在上面的示例中,它是0.1),
再次发出另一个电话dropBrick
(每0.1秒开火一次,重复:重复:是)?
或者无论如何,NSTimer
将等待最后一次dropBrick结束然后解雇?
答案 0 :(得分:1)
NSTimers
计划在RunLoop上。
这意味着在RunLoop的每次迭代中,系统都会执行以下操作:
结果:
NSTimer
并不关心你是否自己手动调用dropBrick 答案 1 :(得分:0)
我能想到的一个想法是......
设置Repeat:NO并让dropBrick递归调用自身。添加一些睡眠来控制递归调用的频率。