我有一个程序在程序运行期间连续测试 if 循环内的条件。但我希望这个 if 条件在一段时间内变为 true 或激活(比如 5 毫秒),然后在接下来的 10 毫秒内停用 if 条件。然后继续这个模式直到用户关闭程序!
问问题
463 次
2 回答
2
虽然听起来你真的应该采取不同的方法,但从字面上看,这就是你问题的答案:
while ( YES )
{
NSTimeInterval t = [NSDate timeIntervalSince1970];
long ms = t*1000;
if ( ms % 15 < 5 )
{
// code here is executed for 5 ms in every 15 ms timewindow
}
}
此循环将对应用程序性能和电池寿命非常不利。
根据“每 15 毫秒,每 15 毫秒”必须执行哪种代码,您可以NSTimer
改用:
[NSTimer scheduledTimerWithTimeInterval:0.015 target:self
selector:@selector(fire) userInfo:nil repeats:YES];
用一个方法:
-(void)fire
{
// called every 15 ms, does something for 5 ms.
}
于 2012-06-01T13:25:03.407 回答
0
||
如果检查与否,请再添加一个带有布尔标志指示的条件。if(shouldNotCheckCondition || condition)
于 2012-06-01T13:13:18.237 回答