我有UICollectionView
,返回77个单元格。我试图弄清楚如何指向一个特定的单元格,例如第2行第4列的单元格。为了将其归结为我的基本需求,我需要编写一个可以执行此操作的语句:
if cell[46] == cell[12] {
println("they match")
}
我不知道从哪里开始这项任务。我开始尝试打印我的prepareForSegue
方法中使用的indexPath,但是没有返回任何内容。
此集合视图使用动态单元格。将它们制成静电电池会有什么不同吗?
答案 0 :(得分:1)
存在collectionView?.visibleCells()
,它返回[AnyObject]
,您可以将其转换为UICollectionViewCell
类型,这样您就可以获得一组屏幕上的单元格。然后你可以使用下标符号来访问特定的单元格进行比较,但我仍然不认为直接比较单元格是最好的方法,如果你能够以这样的方式存储你的数据,你可以轻松地访问这些值,而无需请求每次服务器,对于你想要完成的事情来说,这将是一个更好的方法。
答案 1 :(得分:0)
如@jkaufman所述,您需要使用一种方法从索引路径获取单元格。 func cellForItemAtIndexPath(_ indexPath: NSIndexPath) -> UICollectionViewCell?
是您需要的方法,您可以向它传递索引路径,该路径可以使用section和row索引构造。从那里,您可以获取每个单元格,并在从cellForItemAtIndexPath
检索两个单元格后进行比较。