2014-03-27 39 views
0

我正在开发一个应用程序,其中几乎所有东西都是collectionViewsimages在后台获取json web服务的对象ios

当应用程序启动时,您可以看到带有图片的TimeLine,每个cell都有一个用户名,他上传了图片,图片的城市和图片。

好吧,如果你tap城市名称Label(在时间轴cell),你可以看到(在collection view)的那个城市的所有图像的城市概况,城市和一些细节的分数。如果我在任何图片上都有tap,则会启动一个新照片库ViewController,因为我可以使用所有图片的NSArrayscroll查看城市的所有图片。

当我tap的用户名label(在时间轴cell)相同happens,我下载在用户简档中的用户信息和用户图像的array和显示。

好吧,当我按时间轴cell的一个画面的问题就来了,那张照片推出图片集锦ViewController直接(不推出的城市或用户配置文件,我下载的图片的阵列),所以我只能有一个NSArray一张照片。

所以,我的问题是

* 我怎样才能在后台获取用户的图像array,而我的图片显示的? *

我以为我可以调用User class类方法称为getUserPictureArray并有拨打电话到服务器,获取这些图像,并用delegate归还。但我不认为这不是最好的方式。

有什么想法?谢谢

+1

你看过AFNetworking https://github.com/AFNetworking/AFNetworking http://www.raywenderlich.com/59255/afnetworking-2-0-tutorial – Flexicoder

+0

我很困惑。您清楚知道如何从您的服务器检索媒体。你为什么不推荐你的画廊?此外,您的问题的标题提到后台提取。因此,如果您尚未使用它,我将借此机会推荐Grand Central Dispatch(https://developer.apple.com/library/ios/documentation/Performance/Reference/GCD_libdispatch_Ref/Reference/reference.html) 。 – geraldWilliam

+0

我目前使用AFNetworking,所以我已经知道它。我只是想在显示那张图片的同时下载所有的用户图片)我想要做的就是获取这个数据而不锁定主线程。有大量图片的用户 – croigsalvador

回答

0

,以便在评论家伙说......你getUserPictureArray方法使用AFNetworkingGCD

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 
    [[AFHTTPRequestOperationManager manager] GET:url parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) { 
    // Do whatever you want with data in responseObject 
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
    // Handle error 
    }]; 
}); 

如果你做这样的事情会在后台下载数据和success块可以保存把照片发给NSArray或者做任何你想要的东西。但请记住明智地做,并且在空的时候不要参考NSArray

+0

是的,那就是重点,我不能使用这个NSArray,直到我得到它,所以我锁定主线程 – croigsalvador

+0

因此,你必须观察并通知'NSArray'是否充满了这些图像。 – cojoj