如何从行索引 Swift 获取索引路径
How to get indexpath from row index Swift
我正在将数组加载到 UIcollectionview
(稍后将添加其他数据)。我想 select 集合视图项目随机为:
var indexpath = Int(arc4random_uniform(UInt32(items.count)-1)
self.collectionview.selectitem(at: **indexpath**, animated:true ,scrollPosition:UICollectionViewScrollPosition)
在粗体位置给我错误提示:
cannot convert value of type Int to expected argument type 'IndexPath?
我可以理解这个异常,因为 indexpath
在 swift 中不同于集合数据索引(数组索引)。但是我找不到任何可以将项目索引转换为索引路径或任何其他方式的方法。
我是 iOS 的新手,所以可能不擅长为此类问题搜索正确的关键字。如有其他方法满足此要求,将得到大家的大力支持。
你可以使用它
let indexPath = NSIndexPath(forRow: 0, inSection: 0)
在 swift 3 中为 UICollectionView
创建一个 IndexPath
let indexPath = IndexPath(item: 0, section: 0)
Swift 3 最新
self.table.reloadRows(at: [IndexPath(row: 0, section: 0)], with: .fade)
Swift 4.1。在这里,我创建了获取 NSIndexPath 的函数。只需传递您的 UIView(UIButton、UITextField 等)和 UICollectionView 对象即可获取 NSIndexPath。
func getIndexPathFor(view: UIView, collectionView: UICollectionView) -> NSIndexPath? {
let point = collectionView.convert(view.bounds.origin, from: view)
let indexPath = collectionView.indexPathForItem(at: point)
return indexPath as NSIndexPath?
}
我正在将数组加载到 UIcollectionview
(稍后将添加其他数据)。我想 select 集合视图项目随机为:
var indexpath = Int(arc4random_uniform(UInt32(items.count)-1)
self.collectionview.selectitem(at: **indexpath**, animated:true ,scrollPosition:UICollectionViewScrollPosition)
在粗体位置给我错误提示:
cannot convert value of type Int to expected argument type 'IndexPath?
我可以理解这个异常,因为 indexpath
在 swift 中不同于集合数据索引(数组索引)。但是我找不到任何可以将项目索引转换为索引路径或任何其他方式的方法。
我是 iOS 的新手,所以可能不擅长为此类问题搜索正确的关键字。如有其他方法满足此要求,将得到大家的大力支持。
你可以使用它
let indexPath = NSIndexPath(forRow: 0, inSection: 0)
在 swift 3 中为 UICollectionView
IndexPath
let indexPath = IndexPath(item: 0, section: 0)
Swift 3 最新
self.table.reloadRows(at: [IndexPath(row: 0, section: 0)], with: .fade)
Swift 4.1。在这里,我创建了获取 NSIndexPath 的函数。只需传递您的 UIView(UIButton、UITextField 等)和 UICollectionView 对象即可获取 NSIndexPath。
func getIndexPathFor(view: UIView, collectionView: UICollectionView) -> NSIndexPath? {
let point = collectionView.convert(view.bounds.origin, from: view)
let indexPath = collectionView.indexPathForItem(at: point)
return indexPath as NSIndexPath?
}