Ios UICollectionView没有可见接口声明选择器indexPathForSelectedRow

Ios UICollectionView没有可见接口声明选择器indexPathForSelectedRow,ios,objective-c,Ios,Objective C,我正在尝试将表视图控制器上的代码更改为集合视图控制器,现在我正在尝试使Segue正常工作,但出现以下错误: “UICollectionView”没有可见的@interface声明选择器“indexPathForSelectedRow” 这是我的赛格: - (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ( [segue.identifier isEqualToString:@"showUpc

我正在尝试将表视图控制器上的代码更改为集合视图控制器,现在我正在尝试使Segue正常工作,但出现以下错误:

“UICollectionView”没有可见的@interface声明选择器“indexPathForSelectedRow”

这是我的赛格:

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ( [segue.identifier isEqualToString:@"showUpcomingRelease"]){
        UpcomingReleaseViewController *upcomingReleaseViewController = (UpcomingReleaseViewController *)[segue destinationViewController];
        upcomingReleaseViewController.singleRelease = [self.upcomingReleases objectAtIndex:[[self.collectionView indexPathForSelectedRow] row]];
    }
}

谢谢。

来自文档,2sec谷歌研究:

– indexPathsForSelectedItems

根据文档,2sec谷歌研究:

– indexPathsForSelectedItems

只需使用
indexPathsForSelectedItems
代替
indexPathsForSelectedRow

但是,如果您选择了多个项目,则此指令将返回多个indexPath。您应该通过将UICollectionView的
allowsMultipleSelection
设置为
NO



这就是说,Xcode有一个出色的自动补全功能,您可以开始键入“
index
”,它会直接显示
indexPathsForSelectedItems
,您也可以参考Xcode提供的优秀功能。我希望它能帮助你

只需使用
indexPathsForSelectedItems
代替
indexPathsForSelectedRow

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"showUpcomingRelease"])
    {
        NSIndexPath *selectedIndexPath = [[self.collectionView indexPathsForSelectedItems] objectAtIndex:0];
        UpcomingReleaseViewController *upcomingReleaseViewController = [segue destinationViewController];
        upcomingReleaseViewController.singleRelease = self.upcomingReleases[selectedIndexPath.row];
    }
}
但是,如果您选择了多个项目,则此指令将返回多个indexPath。您应该通过将UICollectionView的
allowsMultipleSelection
设置为
NO



这就是说,Xcode有一个出色的自动补全功能,您可以开始键入“
index
”,它会直接显示
indexPathsForSelectedItems
,您也可以参考Xcode提供的优秀功能。我希望它能帮助你

谢谢你我在你的帮助下找到了答案。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"showUpcomingRelease"])
    {
        NSIndexPath *selectedIndexPath = [[self.collectionView indexPathsForSelectedItems] objectAtIndex:0];
        UpcomingReleaseViewController *upcomingReleaseViewController = [segue destinationViewController];
        upcomingReleaseViewController.singleRelease = self.upcomingReleases[selectedIndexPath.row];
    }
}