1

我正在使用 icarousel 在我的项目中显示封面流。我使用 uiview 作为包含标签和图像视图的轮播项目。轮播的数据来自对 Web 服务的调用,我将该数据绑定到我用作轮播项目的 uiview 的标签和图像视图。现在的问题是,由于来自 Web 服务的数据很大,因此加载数据并将其绑定到 icarousel 需要很长时间,它几乎冻结了我的应用程序。现在我想要的是异步下载数据并将其绑定到 icarousel 所以它会立即显示,用户不必等到从服务器下载所有数据。

任何帮助将不胜感激..谢谢

4

1 回答 1

0

我建议使用 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];
}
于 2013-03-29T15:44:08.083 回答