我可以在其预期的功能或工作完成后停止某些代码执行部分吗?

时间:2012-06-23 11:32:18

标签: objective-c ios xcode

很抱歉没有发布任何代码,因为我不知道这个逻辑。

我有一个while循环,一旦用户按下按钮就会运行,并在再次按下后停止。但我有条件需要检查一小段时间,直到条件得到满足(定时器不能满足我的需要)。所以我想执行那部分代码,直到它满足那个条件,之后我不需要代码的那一部分来检查那个条件,换句话说我希望程序停止执行那部分代码,这样我就可以保存我的执行时间浪费在那部分代码上。

这可能吗?或者这是我们在编程中无法实现的东西?

请注意,我不想实现计时器来完成这项工作!

编辑(工作我需要建立)

这是我正在检查的加速计更新...更新从用户按下按钮开始。我已设置条件来检查它是否超过某个值,如果超出,我想将计数存储到全局变量。然后我说,我不需要它重复检查那个条件。我不会停止加速数据一旦启动除非用户按下按钮停止?

2 个答案:

答案 0 :(得分:2)

我不知道您的代码看起来像什么......但是,这是您可以轻松完成的事情via Notifications(即注册“NSNotifications”和当满足某些条件时,它会发布通知,然后任何其他侦听对象将运行选择器以“停止”)。或者你可以让你的其他线程监视一些条件via Key-Value-Observing,所以当一些BOOL条件(你的每个代码段正在观察)发生变化时,它们可以完成他们正在做的任何事情。

希望到目前为止这是有道理的,但总体思路是“是的,你所要求的不应该太难”。

答案 1 :(得分:0)

while(mainCondition)
{
    if(!extraCondidion)
    {
        // Do extra bit of code only until extra condition is met
    }

    // Do normal code that runs before and after extra condition is met
}