私は iOS 開発を学んでおり、Apple のチュートリアル (つまり、「Your Second iOS App」) を読んで、Bird Watching アプリを作成しています。簡単に言うと、これは鳥のリストです。テーブル ビューで鳥を選択すると、その鳥の詳細を示す新しいビューに移動します。
すべてが機能しているように見えますが、セグエを行った後、新しいビューが入力されません。空です。
私のprepareForSegue:
方法にあるのではないかと思いましたが、テストのためにそこに NSLog を入れたときに発生します。
prepareForSegue:
メソッドは次のとおりです。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"DetailViewSegue"]) {
CSBirdDetailViewController *detailViewController = segue.destinationViewController;
CSBirdSighting *selectedBirdSighting = [self.dataController objectInListAtIndex:[self.tableView indexPathForSelectedRow].row];
detailViewController.birdSighting = selectedBirdSighting;
detailViewController.birdNameLabel.text = @"Stinker";
NSLog(@"HEY THERE!");
}
}
詳細については、Xcode プロジェクト全体 (やや小さい) を参照してください: http://cl.ly/37041I2K0N24
表示されない理由がわかりません。上記の方法で、destinationViewController (詳細ビュー) のデータをモデル (マスター ビュー/ソース ビュー コントローラーで使用される別のクラス) から設定しています。私が設定したデータは、基本的にクラスが読み取る BirdSighting オブジェクトです。