我有一个包含多个单元格的UICollectionView。 我想要能够点击其中一个单元格,并在确定这是适当的操作后,跳转到另一个视图控制器。
我已经在我的Storyboard中创建了我的辅助视图控制器以及segue。 在我的UICollectionView子类中,我实现了以下内容...
-(BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender {
return NO; // So that I can determine whether or not to perform the segue based on app logic
}
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
[collectionView deselectItemAtIndexPath:indexPath animated:YES];
// Selection logic here
[self performSegueWithIdentifier:@"showDetailView" sender:self];
}
在这个类中,我还实现了-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender方法,以便在执行segue之前设置我的详细视图。代码如下:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
NSLog(@"HELLO, WORLD!!!");
}
似乎一切都很正常,但我发现
prepareForSegue
从未被调用。 我尝试过记录和设置断点,但没有任何迹象表明该方法被调用。 我错过了什么? 为什么这个方法没有被调用? 虽然它现在只有一个简单的“Hello,World”语句,但我以前有一些我的详细视图依赖的代码,它会导致异常,因为详细视图没有正确设置。还有其他我需要注意的事情吗? 我目前没有做到的事情吗?