Ios UICollectionView没有可见接口声明选择器indexPathForSelectedRow
我正在尝试将表视图控制器上的代码更改为集合视图控制器,现在我正在尝试使Segue正常工作,但出现以下错误: “UICollectionView”没有可见的@interface声明选择器“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
- (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];
}
}