Objective c 执行一个“;如果”;在一段时间内保持状态,然后在另一段时间内停止并重复?

Objective c 执行一个“;如果”;在一段时间内保持状态,然后在另一段时间内停止并重复?,objective-c,ios,xcode,Objective C,Ios,Xcode,可能重复: 我有一个程序,在程序运行期间连续测试if循环内的条件。但是我希望这个if条件在一段时间内变为true或active(比如5ms),然后在接下来的10ms内停用if条件。然后继续此模式,直到用户关闭程序 再添加一个带有|的条件,并在是否选中该条件时显示bool标志如果(shouldNotCheckCondition | | condition)虽然听起来你真的应该采取一种不同的方法,但这就是你问题的答案: while ( YES ) { NSTimeInterval t =

可能重复:


我有一个程序,在程序运行期间连续测试if循环内的条件。但是我希望这个if条件在一段时间内变为true或active(比如5ms),然后在接下来的10ms内停用if条件。然后继续此模式,直到用户关闭程序

再添加一个带有
|
的条件,并在是否选中该条件时显示bool标志<代码>如果(shouldNotCheckCondition | | condition)

虽然听起来你真的应该采取一种不同的方法,但这就是你问题的答案:

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
    }
}
用一种方法:

-(void)fire
{
    // called every 15 ms, does something for 5 ms.
}

使用此:[自执行选择器:withObject:afterDelay:@safecase:]您能再解释一下吗?谢谢你的想法!谢谢你宝贵的回答!在我的程序中,我用6个加速计数据填充我的阵列(size6),并使用它们通过一个方程式计算输出值。然后我将这个输出值插入另一个数组(大小为6)。每次添加新元素时,我都会删除两个数组的最后一个元素。通过这个u可以理解CPU时间的重要性,然后我想比较if条件中的两个计算输出值并更新计数器。这就是我想应用这个计时条件的地方,这样它就可以检查定义的特定时间段的条件,如果满足,更新计数器。你提出的这个方法计算成本更好吗?你把它和我的情况联系起来。我对编程有点陌生,这些问题让我感到疑惑!感谢你宝贵的回答!您好,我期待您的回复!:)@sam如果可能,您应该在收到加速计数据时对其采取措施。您在某个函数中接收测量值,这是执行此操作的地方。这将节省电池寿命并提供更好的响应,因为您将在收到加速计读数后立即采取行动。谢谢您的回答!你能再解释一下吗!:)如果将您的
shouldNotCheckCondition
设置为
true
,则您的条件将无关紧要。
-(void)fire
{
    // called every 15 ms, does something for 5 ms.
}