代码之家  ›  专栏  ›  技术社区  ›  Kumar D

IPhone-如何立即启动活动

  •  0
  • Kumar D  · 技术社区  · 16 年前

    我的问题是,当用户触摸iphone时,我希望立即执行该事件,而不是等待前一个事件完成。

    提前感谢。

    1 回复  |  直到 16 年前
        1
  •  1
  •   Kobski    16 年前

    在iPhone上,一个事件必须运行到完成,然后才能处理下一个事件。基本上,你想让代码长时间不运行,这样你的应用程序才能对用户输入保持响应。

    有很多方法可以处理这个问题。

    1. 或者将循环转换为主线程上的多个事件。您可以通过拨打以下电话来实现:

      - (void)initializeLoop
      {
        loopCounter = 0;
          [self performSelector:@selector(nextLoop) withObject:nil afterDelay:0.0];
      }
      
      - (void)nextLoop
      {
        loopCounter++;
        if (loopCounter<MaxCount)
          [self performSelector:@selector(nextLoop) withObject:nil afterDelay:0.0];
      }
      

    这样,新的touchEnded事件就可以在这些其他事件之间处理。将延迟设置为高于0.0将使应用程序更具响应性。