重载数据后未调用UICollectionView数据源方法

时间:2015-11-08 05:29:11

标签: ios objective-c uicollectionview

我正在尝试从网站获取数据并添加到我的集合视图中,但是当我调用[self.collectionView reloadData]时问题,它无法正常工作。

所以我的代码如下:

- (void)viewDidLoad {
    [PYBSkuApi getSKUList:1 andHotId:@"17" success:^(NSArray *skuList) {
        self.dataSource = [NSMutableArray arrayWithArray:skuList];
        [self.skuCollectionView reloadData];
    }failure:^(AFHTTPRequestOperation *operation, NSError *error) {

    }];
}


// Data source 

- (NSInteger) numberOfSectionsInCollectionView:(UICollectionView *)collectionView {
    return [self.dataSource count];
}

- (NSInteger) collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
    return 1;
}

- (UICollectionViewCell *) collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
....
}

问题是当我重新加载集合视图时,在更新self.dataSource之后,它进入

 - (NSInteger) numberOfSectionsInCollectionView:(UICollectionView *)collectionView

但永远不会进入

- (UICollectionViewCell *) collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath

我不知道为什么。

1 个答案:

答案 0 :(得分:0)

你有没有调用过setCollectionViewLayout或initWithFrame:collectionViewLayout:

UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
[flowLayout setScrollDirection:UICollectionViewScrollDirectionVertical];
[_collectionView setCollectionViewLayout:flowLayout];

_collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:flowLayout];