UICollectionView NSIndexPath?

Rob*_*ers 0 objective-c nsindexpath ios uicollectionview

我以前从uitableview获得了NSIndexPath,但我不确定为什么这对于collectionview不起作用?任何帮助将不胜感激!

这是我需要修复的代码:

NSIndexPath *indexPath = [self.collectionView indexPathForSelectedRow];
sqlColumns *author = [self.favoriteExercises objectAtIndex:indexPath.row];
Run Code Online (Sandbox Code Playgroud)

Pav*_*van 10

只是用来indexPathsForSelectedItems代替indexPathsForSelectedRow.但是,indexPath如果您选择多个项目,则此指令将返回多个.你应该通过设置限制选择一个项目allowsMultipleSelectionUICollectionViewNO.

也就是说,Xcode具有出色的自动完成功能,你可以开始输入"index"并indexPathsForSelectedItems直接显示,你也可以参考Xcode提供的优秀文档.我希望它会对你有所帮助!

更新1 - 如何从数组中获取indexPath

indexPathsForSelectedItems方法将返回一个NSIndexPath对象数组,每个对象对应一个选定的项.如果没有选定的项,则此方法返回一个空数组.

现在要访问此对象,您必须问自己,如何访问数组?你做了一些研究,然后你会得出这样的结论:

NSArray *arrayOfIndexPaths = [self.collectionView indexPathsForSelectedItems];
NSIndexPath *indexPathImInterestedIn = [arrayOfIndexPaths firstObject];

//Voila
Run Code Online (Sandbox Code Playgroud)