我在TableView中有一组静态单元格,我有3个这样的单元格(A,B,C)都设置了segues push
相同的ViewController到屏幕上;这很好用!
我想要的是View控制器识别单击哪个单元格的方法:ViewController可以通过它来改变它所呈现的内容。具体来说,我想在我的viewController中根据单击的单元格将int(比如说)设置为特定值
我猜我错过了什么
- (void) prepareForSegue method
?
非常感谢任何帮助
以下代码位于我的视图控制器
中- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([segue.identifier isEqualToString:@"segue1"]){
selectedSegue = 1;
} else {
selectedSegue = 2;
}
NSLog(@"Selected Segue: %d", selectedSegue);
}
selectedSegue始终返回0;
我也在我的故事板中设置了Segue标识符
答案 0 :(得分:1)
我想你差不多了。检查prepareForSegue:sender:
的以下示例实现(此方法签名甚至可能是问题!)
#pragma mark - Storyboard Methods
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if([segue.identifier isEqualToString:@"segueOne"]) {
BBFirstViewController *vcOne = (BBFirstViewController *)segue.destinationViewController;
vcOne.someProperty = @1;
}
else if([segue.identifier isEqualToString:@"segueOne"]) {
BBSecondViewController *vcTwo = (BBSecondViewController *)segue.destinationViewController;
vcTwo.someProperty = @2;
}
}
然后只需在storyboard文件中确保每个segue都设置了identifier
:
单击两个视图控制器之间的segue线,并在 Attributes Inspector 中设置标识符。