在应用程序之后执行选择器:didFinishLaunchingWithOptions?

时间:2012-09-25 00:17:11

标签: ios cocoa-touch grand-central-dispatch

我需要在application:didFinishLaunchingWithOptions中将一些剩余数据上传到服务器,但这需要一些时间,最终应用程序可能会因为无法及时完成启动而被杀死,所以我使用了:

[myObject performSelector:withObject:afterDelay:]

延迟0.2f,让application:didFinishLaunchingWithOptions完成,但看起来不是一个好主意,所以我想我有没有办法在application:didFinishLaunchingWithOptions之后执行选择器?

我知道有applicationDidBecomeActive,但我需要在application:didFinishLaunchingWithOptions执行。

1 个答案:

答案 0 :(得分:3)

如果你使用延迟0,一旦控制权返回到runloop,它就会被执行。

但是,如果在appDidFinishLaunching中阻塞太久,那么无论何时运行它都会阻塞。您真的应该将此代码移动到后台线程。主线程上的同步网络访问永远不是一个好主意。