2010-07-20 43 views
2

我对iphone 的目标c有一个警告,它说“隐式函数声明'睡眠'”如何修复目标C sdk 4.0上的睡眠?

我只有一个睡眠(1);在的applicationDidFinishLaunching飞溅

我没有在SDK的早期版本中这个问题

我知道只是一个警告,但我之前的苹果有问题,为没有100%的成功

感谢一切:d

回答

10

确保您包含正确的标题。 <Foundation/Foundation.h>有你需要的所有东西,如果你不在Obj-C代码中,包括<unistd.h>,一切都应该很开心。

-5

你可能只是声明它的原型文件在你使用它:

unsigned int sleep(unsigned int seconds); 

或者干脆包括<unistd.h>

+4

如果他必须申报原型,他缺少一个标题。这是一个创可贴。 – 2010-07-20 16:24:58

+6

您应该*从不*声明原型来启用该功能。充其量,这意味着你没有包含正确的标题。最糟糕的是,它表示使用可能导致崩溃或拒绝的专用接口。或者,如果您的原型出错,那么引入错误是一种好方法。 – bbum 2010-07-20 16:42:59

+0

它不会崩溃,它工作正常;)谢谢任何方式 – Saikios 2010-07-21 01:17:10

8

如何使用

[NSThread sleepForTimeInterval:0.1]; 

什么呢?

1

你为什么睡觉?这是最糟糕的地方睡觉;如果你的应用程序没有从applicationDidFinishLaunching返回,它将被终止。而且你正在花费更多的时间!

相反,在applicationDidFinishLaunching放置相同的图像,然后在延迟后关闭它。这样,即使启动画面仍然显示,您的应用程序仍可以继续初始化...

+0

这是在手动:( – Saikios 2010-07-21 01:17:50

1

下面介绍如何解决您的问题。

如果您有:

sleep(1); 

将其更改为

// sleep(1); 

如果你真的必须强迫用户观看广告,而不是让上使用您的应用程序中,这是什么他们真的想做,显示你的启动画面,然后使用NSTimer事件将其删除。这意味着你可以在有用的时候做些有用的事情。