3

TableView内に静的セルのグループがあり、これらのセルのうち3つ(A、B、C)がすべてpush、同じViewControllerを画面に表示するセグエで設定されています。これはうまくいきます!

私が欲しいのは、View Controllerがどのセルがクリックされたかを識別する方法です.ViewControllerはそれが提示するものを変更することができます. 具体的には、viewController の int (たとえば) を、クリックされたセルに応じて特定の値に設定したい

私は何かが欠けていると思い - (void) prepareForSegue methodますか?

どんな助けでも大歓迎です

次のコードは My View Controller にあります

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
 if ([segue.identifier isEqualToString:@"segue1"]){
    selectedSegue = 1;
 } else {
    selectedSegue = 2;
 }

  NSLog(@"Selected Segue: %d", selectedSegue); 
}

selectedSegue は常に 0 を返します。

ストーリーボードにもセグエ識別子を設定しました

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

次に、ストーリーボード ファイルで各セグエにidentifierセットがあることを確認します。

Xcode ストーリーボード

2 つのビュー コントローラーの間のセグエ線をクリックし、属性インスペクターで識別子を設定します。

于 2013-09-15T22:44:38.377 に答える