1

この場合、以下の値を に割り当てて、stringToDisplayに送信したいと考えてSegViewControllerいますstringToDisplaycell.textLabel.textここでを使用する必要がありisEqualToString: @"Fire House Galleryますか? indexPathまたはUITableViewCellここを使用しますか?

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
  SegViewController *seg = segue.destinationViewController;
  seg.delegate = (id)self;

  if ("......" isEqualToString: @"Firehouse Gallery"])
  {
      seg.stringToDisplay = @"Firehouse Gallery";
  }
  else
  {
      seg.stringToDisplay = @"Frog Hollow Craft Center";
  }
}

ありがとう、グレッグ

4

2 に答える 2

1

簡単な答え:

ビューであるため、テーブル ビュー セルからデータを取得しないでください。モデルから「データを導出」する必要があります。

より長い答え:

セグエの設定方法は、呼び出し方によって異なります。

コードで( を使用して)呼び出す場合はperformSegueWithIdentifier:sender、メソッド呼び出しで文字列を「送信者」として渡します。

ストーリーボードでセグエを設定している場合は、可能性ごとに異なるセグエを使用し、セグエ識別子をチェックして、渡す必要がある文字列を決定する必要があります。

于 2013-05-05T02:10:43.920 に答える
0

私が探していたものに対する答えを見つけました。@"seg" と呼ばれる2 つのUIViewcontrollerssegueの間に 1 つのリンクができました。segue identifierRadio Bean という名前の場所の場合、「Radio Bean」セルが押されたときに次を使用します。

if ([cell.textLabel.text isEqualToString: @"Radio Bean"])
{
     self.stringToDisplay = @"Radio Bean";
     [self performSegueWithIdentifier:@"seg" sender:self];
}

次に、prepareForSegueI DO NOT 指定しますsegue identifierが、次を使用します。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
   SegViewController *seg = segue.destinationViewController;
   seg.delegate = (id)self;

   if ([self.stringToDisplay isEqualToString: @"Radio Bean"])
   {
       seg.stringToDisplay = @"Radio Bean";
   }
}

これにより、「Radio Bean」が次の に正常に渡され、 1 つUIViewcontrollerのセグエ リンクのみを使用して複数の場所オプションを含めることができるため、複数のリンクは必要ありません。

于 2013-05-06T22:22:42.597 に答える