iOS程序等待一段时间

让程序等待一段时间,不使用[NSThread sleepForTimeInterval:1.8]; ,不终止线程,而是什么都不做,等待一段时间,在这段时间里能接收到用户的点击事件,那要怎么写这个等待方法?

阅读 11.3k
3 个回答
[obj performSelector:@selector(foo) withObject:bar afterDelay:1.8f];

最好在obj的dealloc中加上取消perform,防止对野指针perform selector

[NSObject cancelPreviousPerformRequestsWithTarget:self];

在你要等的线程中,增加runloop,这样线程就不会结束,如下(当然需要添加一个标志位,一边适时结束线程): while(!finished) { [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]; }

在你要等的线程中,增加runloop,这样线程就不会结束

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题