2014-09-26 12 views
5

Mam UICollectionView że wdrożenia leniwy załadunku,UICollectionView visibleCells zwraca 0 przed przewijanie

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{ 
     [self loadImagesToVisiableCells]; 
} 

To działa dobrze. Jednak problem występuje przed jakimkolwiek zwoju, najpierw kilka komórek pokazuje obrazy zastępcze. Więc staram się wywołać loadImagesToVisiableCells na moim zwrotnego z pobraniem pliku json być wyświetlane w poniższej UICollectionView,

- (void)handleReceivedData: (NSArray*)results returnArrayOrDic:(NSNumber *)returnArrayOrDic{ 
    NSLog(@"***************************"); 
    NSLog(@"handleReceivedData has been called from PromotionViewController"); 
    NSLog(@"jsonArray Length:%d",[results count]); 
    NSLog(@"jreturnArrayOrDic:%@",returnArrayOrDic); 
    if([returnArrayOrDic boolValue] == YES){ 
     for(NSDictionary *dealDic in results) { 
     NSLog(@"dealDic: %@", dealDic); 
     //to populate the dealArray 
     Deal *deal = [[Deal alloc] initWithDict:dealDic]; 
     [dealArray addObject:deal]; 
     } 
     NSLog(@"%d deals have been populated to dealArray",[dealArray count]); 
    }else{ 
     NSDictionary *jsonDictionary = (NSDictionary *)results; 
     for(id key in jsonDictionary) { 

     id value = [jsonDictionary objectForKey:key]; 

     NSString *keyAsString = (NSString *)key; 
     NSString *valueAsString = (NSString *)value; 

     NSLog(@"key: %@", keyAsString); 
     NSLog(@"value: %@", valueAsString); 
     } 
    } 
    [self.collectionView reloadData]; 
    [self loadImagesToVisiableCells]; 
} 

wiadomość Debug pokazuje przed każdym zwoju, [[CollectionView visibleCells] policzyć] zwraca 0.

- (void)loadImagesToVisiableCells{ 
     NSLog(@"starting loadImagesToVisiableCells, visibleCells:%d",[[collectionView visibleCells] count]); 
.... 
} 

Każdy pomysł?

Pozdrowienia Hammer

Odpowiedz

Powiązane problemy