<分区>
标签 objective-c ios xcode
<分区>
Possible Duplicate:
Execute an “if” condition “x” milliseconds and stop for “y”millisecond and repeat the condition ?
我有一个程序在程序运行期间连续测试 if 循环内的条件。但我希望这个 if 条件在一段时间内变为真或激活(比如 5 毫秒),然后在接下来的 10 毫秒内停用 if 条件。然后继续这个模式直到用户关闭程序!
最佳答案
虽然听起来您真的应该采取不同的方法,但这是您问题的字面答案:
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
}
}
此循环将非常不利于应用性能和电池生命周期。
根据必须执行“5 毫秒,每 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.
}
关于objective-c - 在一段时间内执行 “if” 条件,然后在另一段时间内停止并重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10850945/
相关文章:
objective-c - 如何在iOS应用程序上显示Facebook用户的新闻提要?
ios - 如何在 Swift 中获取 DatePicker 时间到 Calendar 组件并插入到 Label 组件
objective-c - 滚动到底部时向 UITableView 添加行
ios - 如何从匹配 NSNumber 的 NSMutableArray 中删除对象
iphone 开发 : how can I inherit from more than one class?
用于处理内部重定向到 HTTP 连接的 iOS ATS 配置