如何获得一个 Cell 的数量?

Posted

技术标签:

【中文标题】如何获得一个 Cell 的数量?【英文标题】:How to have the number of a Cell? 【发布时间】:2016-05-03 15:11:47 【问题描述】:

我有一个带有一些单元格的UICollectionView

我在这里做了一些测试:

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


    UICollectionViewCell *cell=[collectionView dequeueReusableCellWithReuseIdentifier:@"cellIdentifier" forIndexPath:indexPath];

    NSLog(@"nsindex path %@", indexPath);

    cell.backgroundColor=[UIColor greenColor];
    return cell;

以下是日志中显示的一个单元格的示例:

nsindex path <NSIndexPath: 0xc000000000200016> length = 2, path = 0 - 1

如何从本例中的对象中提取值1(来自path = 0 - 1)?

【问题讨论】:

【参考方案1】:

indexPath.row 访问表格单元格编号,indexPath.item 访问集合单元格编号。

答案最好在here:中解释

【讨论】:

这个答案的第一句话是不正确的。由于这个问题是关于UICollectionView,所以正确答案是使用indexPath.item,而不是indexPath.row【参考方案2】:

indexPath.item(ios 6.0 及更高版本可用) indexPath.row(iOS 2.0 及更高版本可用)。

indexPath.item or indexPath.row use this for UICollectionView to get cell number

indexPath.row use this for UITableView to get cell number.

【讨论】:

你不是@Teja Nandamuri,但你是对的!谢谢!但是什么是最好用的呢? 我在 NSindexPath 文档中看到它们完全相同,但是 NSindexpath 开头没有 .row 您的推荐很糟糕。使用表格视图时,请使用indexPath.row。使用集合视图时,请使用indexPath.item。不要同时使用indexPath.rowUICollectionView 专门将item 属性添加到NSIndexPath。仅仅因为itemrow 看起来相似并不意味着您应该使用when 代替另一个。未来任何一个的实现都可能发生变化,使用错误的实现可能会突然导致大量代码开始中断。 我同意 indexPath.row 用于 UITableView 我很困惑。用于 UICollectionView 的 indexPath.row 和 indexPath.item。我已经更新了我的答案:) 不要将indexPath.row 用作UICollectionViewUICollectionView 专门为NSIndexPath 定义了itemsection 属性。【参考方案3】:

NSIndexPath 有两个属性:rowsection。属性row 表示当前sectionrow 的数量。

【讨论】:

以上是关于如何获得一个 Cell 的数量?的主要内容,如果未能解决你的问题,请参考以下文章

当 UICollectionView 最初加载其数据时,我们如何获得可见的 Cell IndexPath

如何获得excel文件名和工作表名

如何获得excel文件名和工作表名

如何获得excel文件名和工作表名

如何获得excel文件名和工作表名

如何使用一个 linq 查询获得总数量?