如何在iPhone的应用程序中使用Sleep

时间:2010-06-10 11:17:55

标签: iphone sleep

我习惯在我的应用中加载默认图片。所以我已经设定了,

      Sleep(3); in my delegate.m class.

但有时需要6到7分钟。所以我想只显示图像3秒,然后根据我的要求进入我的appilcation。

哪一种最好的方法呢?

     Sleep(3) or [NSThread sleepForTimeInterval:3.0] or something else; 

我必须只显示图像3秒。请解释一下。 (注意:我只在我的deleagte类中声明了setter和getter方法。)

请解释一下。

2 个答案:

答案 0 :(得分:2)

Apple严格建议不要这样做(以这种方式使用sleep),尤其是在显示启动画面的情况下。

要做的最好的事情是创建一个看起来像Default.png文件的视图,然后让它成为第一个NIB ..然后你可以设置NSTimer转换(如果你想要动画的话) )到您的主视图/窗口/控制器。

答案 1 :(得分:2)

正如Rob指出的那样,Apple强烈建议不要使用闪屏,除非它隐藏了一些必要的幕后流程(比如加载游戏图形)。强烈劝阻有些人声称他们的应用程序因使用不必要的内容而被拒绝闪屏。

默认.png不存在以创建启动画面。 相反,它允许您创建初始视图加载速度比它更快的错觉。您应该使用它来提供初始视图的图像,以便最终用户可以开始认知地将自己定位到界面。当他们将自己定位到界面并移动他们的手指触摸界面时,它就是实时的。

为什么呢?因为iPhone应用程序应该快速,快速。人们不会坐在像台式机这样的桌子上使用它们。人们随时随地使用。有时他们会在谈话中使用它们。

我告诉我的客户在步行,骑自行车等时以及在面对面和电话交谈中测试他们的应用程序(游戏除外)的可用性。在这种情况下,三秒钟的停顿是一个大问题,非常明显,特别是如果该应用程序是一个实用的应用程序。想象一下,如果每次打开“联系人”应用程序,您都必须暂停三秒钟才能看到Apple启动画面。你会匆忙感到恼怒。

这里的关键是不必要的启动画面不会为用户添加任何值。软件发布者为了节省最终用户的时间而采取自私的行为,以便出版商能够为出版商的唯一利益建立品牌认知。每次使用应用程序时浪费三秒钟的用户时间就会匆忙加入。 (根据我的经验,它还会让用户感觉整个应用程序运行缓慢且笨重。)

然而,如果你确实想要用脚射击自己,或者如果你有一个客户地狱弯曲的闪屏,你可以这样做:

在第一个视图加载之前,会出现初始屏幕,因此您可以延迟加载第一个视图。在app delegates applicationDidFinishLaunching:方法中,删除将第一个视图加载到窗口中的所有代码。用NSTimer替换它。将代码加载到计时器的fire方法中的第一个视图。

使用该设置,应用程序将在启动时显示default.png,当它到达applicationDidFinishLaunching:时,它似乎会从最终用户的角度暂停,因为不会显示任何视图来替换default.png。

您应该注意应用程序的标准启动时间为3-5秒。所以你可能不需要做任何事情来显示启动画面3秒钟。它可能会自动发生。