didSelectItemAtIndexPath

didSelectItemAtIndexPath

所以我已经为此苦了一段时间了。我有一个UICollectionView用作菜单。单元格是切换到另一页的选项。菜单的功能与应有的功能完全相同,只不过当您按一个单元格(例如,单元格0)时,它将弹出下一个视图。我发现单元格正在记录触摸,但是当我尝试确定按下哪个单元格时,它就会崩溃。我尝试调试它,对我来说indexPath毫无价值!我正在使用didSelectItemAtIndexPath函数,不,不是didDeselect(我已经从搜索中检查了如何解决此问题)。我将发布代码,但是这一行确实让我很困惑。任何帮助将不胜感激!

func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath)
{
    NSLog("Pressed Cell")

    if(indexPath == 0)
    {
        self.navigationController?.popToViewController(profileViewController, animated: true)
    }

}

最佳答案

NSIndexPath包含一个部分和一个项目,您可以分别以indexPath.itemindexPath.section的形式访问它们。假设您只有一个部分(因此它的值无关紧要),则可以将代码更改为:

func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath)
{
    NSLog("Pressed Cell")

    if(indexPath.item == 0)
    {
        self.navigationController?.popToViewController(profileViewController, animated: true)
    }

}

10-08 12:09