私の人生の間、これを理解できないようです。私はカスタムテーブルビューセルを持っています、そのセルにはいくつかのボタンが設定されています。各ボタンは、ストーリーボードセグを介して他のビューコントローラに接続します。私は最近、これらのセグを削除し、pushViewControllerメソッドを適所に配置しました。さまざまなビューを前後に渡って前後すると、目的のビューコントローラは何も表示されません。私は例としていくつかのコードを持っています。Storyboard SegueをpushViewControllerに置き換えると、奇妙な動作が発生する
[cell.spotButton1 addTarget:self action:@selector(showSpotDetails:) forControlEvents:UIControlEventTouchUpInside];
// etc...
[cell.spotButton4 addTarget:self action:@selector(showSpotDetails:) forControlEvents:UIControlEventTouchUpInside];
// etc...
showSpotDetailsメソッドこのコードが含まれています:
- (void)showSpotDetails:(id)sender
{
// determine which button (spot) was selected, then use its tag parameter to determine the spot.
UIButton *selectedButton = (UIButton *)sender;
Spot *spot = (Spot *)[spotsArray_ objectAtIndex:selectedButton.tag];
SpotDetails *spotDetails = [[SpotDetails alloc] init];
[spotDetails setSpotDetailsObject:spot];
[self.navigationController pushViewController:spotDetails animated:YES];
}
詳細VCは、オブジェクトデータを受信しない
ボタンは、この方法が設定されています。
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"spotDetailsObject %@", spotDetailsObject_.name);
}
以下のNSLogメソッドは、渡されたオブジェクトを出力します。また、詳細ビューコントローラ内のすべては、そのままです。 VCの詳細は変更されていません。私はsegueを削除してpushViewControllerメソッドを追加して以来、何もレンダリングしません。おそらく私はpushViewControllerメソッドで何かを見逃していますか?私は本当にこのようなことはしません、私は常にセグを使用しようとします...
何か提案がありますか?
ワウマット、本当にありがとう!私は今あなたの本を読んでいて、歩くことを学んでいます=) – ElasticThoughts
クール、ありがとう。私は問題の原因を正しく特定したことを願っています。 – matt