我从我的服务器下载数据,下载需要5到6分钟。下载时我无法在我的应用程序中进行任何工作。如何在后台发送下载过程,以便用户可以在应用程序内和下载后导航。我们将通知用户下载完成..
谢谢。
答案 0 :(得分:1)
您需要做的是将您的下载代码放在单独的线程上(iOS上的NSThread)。 Here's帮助您入门的教程。
答案 1 :(得分:1)
[NSThread detachNewThreadSelector:@selector(myMethod)
toTarget:self
withObject:nil];
- (void)myMethod
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
/*** code that should be run in the new thread goes here ***/
[pool release];
}
如果您需要从新线程内部对主线程执行某些操作(例如,显示加载符号),该怎么办?使用performSelectorOnMainThread。
[self performSelectorOnMainThread:@selector(myMethod)
withObject:nil
waitUntilDone:false];