0

私は Xcode にかなり慣れていませんが、ちょっとした問題に遭遇しました。タブ付きのView Controllerがあり、1つのサブタブにUITableViewがあります。セルをクリックすると、TableData (ViewController) を開く必要があります。なぜか真っ暗な画面になってしまいます。次に、コードを次のように変更しました。

TableData *newView = [self.storyboard instantiateViewControllerWithIdentifier:@"TableData"];
[self presentViewController:newView animated:YES completion:nil];

しかし、Xcode でエラー SIGABRT が発生します。これを修正するにはどうすればよいですか?

これは機能しますが、黒い画面が表示されます。

TableData *view = [TableData alloc];
view.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController: view animated:YES];
4

1 に答える 1

2

ストーリーボード内でセグエの識別子を作成してから、次を使用します。

[self performSegueWithIdentifier:@"yourTableViewStoryboardSegueIdentifier" sender:self];

アップデート:

問題は、ユーザーが tableView から無効な行を取得したことが原因である可能性が最も高いです。行番号を取得するために必要なことは次のとおりです。

int rowNumberSelected = indexPath.row;

彼の 2 番目のコード スニペットについて言えば、黒い画面しか表示されないのは、ストーリーボードで実際にそれを自分の viewController にリンクしていないためです。彼は単にコードを割り当てているだけです。コードを使用してサブビューを追加すると、それらは表示されますが、ストーリーボードからは何も表示されません。

ただし、ユーザーは Storyboard を使用しているため、常にセグエと却下を使用することをお勧めします。

于 2013-01-14T23:20:44.867 に答える