Индекс карусели не в порядке

У меня есть следующий plist, и я хочу показать изображения на заказ на карусели. Когда я отлаживаю код, я вижу, что индекс не является порядком.

введите описание изображения здесь

Когда я отлаживаю, сначала он показывает index = 0 , затем следующий элемент – index = 5

 (lldb) po [items objectAtIndex:index]; http://charcoaldesign.co.uk/AsyncImageView/Forest/IMG_0351.JPG (lldb) po [items objectAtIndex:index]; http://charcoaldesign.co.uk/AsyncImageView/Forest/IMG_0358.JPG 

Вот реализация:

 - (void)awakeFromNib { //set up data //your carousel should always be driven by an array of //data of some kind - don't store data in your item views //or the recycling mechanism will destroy your data once //your item views move off-screen //get image URLs NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"Images" ofType:@"plist"]; NSArray *imagePaths = [NSArray arrayWithContentsOfFile:plistPath]; //remote image URLs NSMutableArray *URLs = [NSMutableArray array]; for (NSString *path in imagePaths) { NSURL *URL = [NSURL URLWithString:path]; if (URL) { [URLs addObject:URL]; } else { NSLog(@"'%@' is not a valid URL", path); } } self.items = URLs; } - (void)dealloc { //it's a good idea to set these to nil here to avoid //sending messages to a deallocated viewcontroller carousel.delegate = nil; carousel.dataSource = nil; } #pragma mark - #pragma mark View lifecycle - (void)viewDidLoad { [super viewDidLoad]; //configure carousel carousel.type = iCarouselTypeCoverFlow2; } - (void)viewDidUnload { [super viewDidUnload]; //free up memory by releasing subviews self.carousel = nil; } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return YES; } #pragma mark - #pragma mark iCarousel methods - (NSInteger)numberOfItemsInCarousel:(iCarousel *)carousel { //return the total number of items in the carousel return [items count]; } - (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSInteger)index reusingView:(UIView *)view { //create new view if no view is available for recycling if (view == nil) { view = [[AsyncImageView alloc] initWithFrame:CGRectMake(0, 0, 200.0f, 200.0f)]; view.contentMode = UIViewContentModeScaleAspectFit; } //cancel any previously loading images for this view [[AsyncImageLoader sharedLoader] cancelLoadingImagesForTarget:view]; //set image URL. AsyncImageView class will then dynamically load the image ((AsyncImageView *)view).imageURL = [items objectAtIndex:index]; return view; } 

если кто-то хочет протестировать, вот github . затем выберите и запустите проект « Динамические загрузки »

введите описание изображения здесь

Interesting Posts
Давайте будем гением компьютера.