iOS cellForItemAtIndexPath超出了数组绑定范围

时间:2017-04-18 04:15:27

标签: ios objective-c uicollectionview

关于UICollectionView的问题。 UICollectionView嵌套在UITableViewCell中。问题是以下简单的代码,但在线[self.imageInfos objectAtIndex:indexPath.row]这里经常出现超出界限的数组,非常奇怪! IndexPath绑定不高于collectionView: (UICollectionView *) collectionView numberOfItemsInSection: (NSInteger) section这个函数的约束,为什么数组超出了绑定范围。

- (NSInteger)collectionView:(UICollectionView *)collectionView
     numberOfItemsInSection:(NSInteger)section {
    return self.imageInfos.count;
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView
                  cellForItemAtIndexPath:(NSIndexPath *)indexPath {
    LKMImageInfo *imageInfo = [self.imageInfos objectAtIndex:indexPath.row];
    return imageCell;
}

2 个答案:

答案 0 :(得分:0)

您的UICollectionView项代表LKMImageInfo个对象。因此,您应该从LKMImageInfo获取indexPath.row,而不是从indexPath.item获取- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { return self.imageInfos.count; } - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { LKMImageInfo *imageInfo = [self.imageInfos objectAtIndex:indexPath.item]; return imageCell; } 对象。如下所示:

INSERT INTO table1
   SELECT * FROM table2

答案 1 :(得分:0)

使用自定义表格视图单元格和内部添加集合视图。在表视图单元的自定义类中编写集合视图委托。