3

我在 TableView 中有一组静态单元格,并且我有 3 个这些单元格(A、B、C)都设置了 seguespush相同 ViewController 到屏幕上的 segues;这很好用!

我想要的是一种让 View Controller 识别单击了哪个单元格的方法: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 标识符

4

1 回答 1

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;
   }
}

然后只需确保在故事板文件中每个 segue 都有其identifier设置:

Xcode 故事板

单击两个视图控制器之间的 segue 线,并在Attributes Inspector中设置标识符。

于 2013-09-15T22:44:38.377 回答