我正在使用 icarousel 在我的项目中显示封面流。我使用 uiview 作为包含标签和图像视图的轮播项目。轮播的数据来自对 Web 服务的调用,我将该数据绑定到我用作轮播项目的 uiview 的标签和图像视图。现在的问题是,由于来自 Web 服务的数据很大,因此加载数据并将其绑定到 icarousel 需要很长时间,它几乎冻结了我的应用程序。现在我想要的是异步下载数据并将其绑定到 icarousel 所以它会立即显示,用户不必等到从服务器下载所有数据。
任何帮助将不胜感激..谢谢
我建议使用 AFNetworking 之类的东西来执行异步数据的检索。一旦你得到响应,迭代你得到的所有数据对象并[carousel insertItemAtIndex:index animated:YES];
像这样调用:
@interface ViewController ()
@property (nonatomic, retain) NSMutableArray *items;
@end
// This is a sample function, actual implementation will look different for you
- (void)callBackFromAsyncWebService:(NSArray*)data
{
for (id dataObj in data) {
[self insertItem:dataObj];
}
}
- (NSUInteger)numberOfItemsInCarousel:(iCarousel *)carousel
{
return [items count];
}
- (IBAction)insertItem:(id)item
{
NSInteger index = MAX(0, carousel.currentItemIndex);
[items insertObject:item atIndex:index];
[carousel insertItemAtIndex:index animated:YES];
}