针对不同相册的iOS iCarousel重复使用会保留旧相册信息问题

时间:2012-11-26 19:20:31

标签: icarousel

我正在使用Nick Lockwood的iCarousel。优秀作品。 有一个问题,我需要以某种方式重置/清除轮播,然后再将新专辑加载到其中。

背景: App从API中提取XML并将其解析为数组。 TableView使用第一个xml作为相册列表。 当用户选择/点击相册时,我推送到iCarousel查看。 用户可以备份并选择另一个专辑

精美的第一张专辑。 只要获得的任何专辑拥有与第一张相同数量或更多的照片,就可以正常工作。 当用户选择一张比所选第一张专辑少的照片的专辑时,会发生炸弹。

Err在:

- (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view
{
...//('thumbs' is thumbnail array)
 APIContentObject *currentPhoto = [thumbs objectAtIndex:index];        
...
}

希望将我的阵列同步到iCarousel,它会试图加载' [thumbs objectAtIndex:index]'当index为6且array.count为4 ...

我试过carousel = nil;在viewWillDisappear上,不。 我做的是旋转木马=零;在ViewDidLoad中,我什么都没得到......什么时候实例化?在ViewDidLoad之前?

我真的只需要知道如何清空它或清除它或relloc / init它。 我尝试了一个' for'循环手动删除每个人的指数,但我也有错误..

它确实有效,只是没有预料到的那样。律'建议? 非常感谢。

编辑: 好的,当我使用时:

- (NSUInteger)numberOfVisibleItemsInCarousel:(iCarousel *)carousel
{
    //return the total number of items in the carousel
    return [thumbs count];
}

设置可见项目的数量......这似乎是一个兴趣点。 如果我不设置它/使用这段代码,那么只会显示7个左右的图像...如果我设置了它们,它们都会出现,但是当它击中一个图像数量较少的相册时它就会爆炸。 我在这个圈子里跑来跑去。

1 个答案:

答案 0 :(得分:0)

从另一篇关于回收问题的帖子中找到了线索。

我接到我要求将图像加载到回收站内...(ProgrammerError * ME!)

if (view == nil)
    {...
    [((FXImageView *)view) setImageWithURL:[NSURL URLWithString:currentPhoto.ThumbnailURL] placeholderImage:[UIImage imageNamed:@"loading.png"]];
    ...}

把它移到了条件之外并且好了...好一点。