2015-04-03 29 views
1

在迅速上传图片背景我用下面的代码在后台如何使用GCD

var queue = dispatch_get_global_queue(QOS_CLASS_BACKGROUND, 0) 
    dispatch_async((queue), { 
     self.StartUploadProcess()//upload function 
    }) 

上面的代码完美运行在模拟器,但是当我在我的iPad上测试应用程序它会上传图片到服务器当用户点击主页按钮或打开其他应用程序时停止后台执行

请帮助我,让我可以运行应用程序,甚至用户单击主页按钮?

回答

0

dispatch_sync()是同步运行在另一个线程代码。也有dispatch_async()它异步运行,也就是在后台。

从你的问题我假设你已经知道如何运行它,当你想,只需要把它变成一个异步调用。

+0

我该如何让异步呼叫请帮助我? – 2015-04-03 09:47:43

+0

正如我所说的,将你的'dispatch_sync()'调用改为'dispatch_async()'。欲了解更多信息,请参阅苹果关于GCD的文档https://developer.apple.com/library/prerelease/ios/documentation/Performance/Reference/GCD_libdispatch_Ref/index.html#//apple_ref/c/func/dispatch_async – 2015-04-03 09:49:08

+0

我做了这个改变但是当我在模拟器中运行应用程序时,它将正常工作,但是当我在我的ipad中进行测试并且用户按下主页按钮时,执行停止,并且当用户再次打开应用程序时,代码将执行。我希望我的应用程序运行至完成 – 2015-04-03 09:58:26