Iphone 如何根据时间延迟停止主线程序列?

Iphone 如何根据时间延迟停止主线程序列?,iphone,objective-c,ios,cocoa-touch,ipad,Iphone,Objective C,Ios,Cocoa Touch,Ipad,我正在尝试加载UIActivityIndicatorView自定义类,但是,我正在尝试在我的UIActivityIndicatorView显示后新视图弹出之前嵌入通用时间延迟。我尝试了performafterdelay部分,但这并不意味着停止主线程,而是在5秒后执行一些东西。我要寻找的是一种能够在5秒之前停止执行的东西。在iPhone中有这样做的方法吗?我当然可以编写另一个方法,并在一定的延迟后在其中调用新的视图弹出窗口,但是我通常必须在每个viewController上以这种方式调用。有什么通

我正在尝试加载UIActivityIndicatorView自定义类,但是,我正在尝试在我的UIActivityIndicatorView显示后新视图弹出之前嵌入通用时间延迟。我尝试了performafterdelay部分,但这并不意味着停止主线程,而是在5秒后执行一些东西。我要寻找的是一种能够在5秒之前停止执行的东西。在iPhone中有这样做的方法吗?我当然可以编写另一个方法,并在一定的延迟后在其中调用新的视图弹出窗口,但是我通常必须在每个viewController上以这种方式调用。有什么通用的方法可以绕过它吗?

如果不想这样做,阻塞主线程是不好的,可能会导致8badf00d。考虑重新设计解决方案以避免阻塞主线程。

在退出到主运行循环之前,UI活动指示器不会显示。停止应用程序执行的方法是退出(返回)当前方法


若要在5秒钟后完成操作,请将其放入另一种方法,然后使用NSTimer或延迟操作队列重新启动应用程序的处理。这是一种通用的解决方案,不会导致UI(和活动指示器)冻结。

这只是暂时的,直到我在设备中实际调用应用程序并实际获得一些实时延迟,而不是模拟器,后者速度非常快。。然而,如果你注意到有一些应用程序,比如美国银行登录,这里只有我的2美分。我知道这是一个非常糟糕的设计特性。我就是这么做的,但由于某种原因,我的计时器没有触发。我的计时器是这样的。。n定时器*时间;时间=[NSTimer scheduledTimerWithTimeInterval:1.0调用:无重复:否];然后我停止设置uiactivityindicator的动画。计时器中指定的延续方法在哪里?我的印象是,计时器基本上会延迟下一次执行的事务,或者我猜我将此与睡眠方法混合使用?如果设置计时器后立即返回,则会延迟。尝试返回语句。