2012-04-02 56 views
0

我正在开发iPhone应用程序,该应用程序下载每个应用程序启动时的项目焦点列表(包含图像的6个项目)。应用程序在下载时出现卡住

我使用1 NSMutableURLRequest用于下载6项的文本信息在循环中,然后与用于循环不同我使用的相同的方法块:

NSURL * imageURL = [NSURL URLWithString: strUrl]; 
NSData * imageData = [NSData dataWithContentsOfURL:imageURL]; 

用于获取所有6项的图像。代码工作正常,如果我等到这个过程完成并更新我的主页视图列表。 如果我尝试导航,那么我的应用程序会一直卡在它的下载过程中。我在后台线程上调用了完整的方法,但仍然卡住了进程完成。

如何为此编码,以便用户可以体验所有导航而不会卡住,当他回来时可以查看6个项目?

在此先感谢。

回答

0

你可以使用NSURLConnectionsasynchronous request做在后台下载

+ (void)sendAsynchronousRequest:(NSURLRequest *)request queue:(NSOperationQueue *)queue completionHandler:(void (^)(NSURLResponse*, NSData*, NSError*))handler` 

这样的下载不会阻止你的代码。你也可以在后台线程上完成工作(只要它不与UI一起工作,代码总是需要在主线程上)。

相关问题