私の問題: ユーザーが特定のセルでプレーヤーを選択するとき、そのプレーヤーに関連する残りの情報を新しいビュー コントローラーに表示したい
これまでのところ、私の方法は次のようになります。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
IPlayerViewController *detailViewController = [[IPlayerViewController alloc] initWithNibName:@"IPlayerViewController.h" bundle:nil];
Player *playerF = [playerArray objectAtIndex:indexPath.row];
detailViewController.PlayerLabel.text=playerF.Name;
[self.navigationController pushViewController:detailViewController animated:YES];
}
ただし、IPlayerViewController で作成した (そして UILabel をストーリーボードのラベルに接続した) PlayerLabel は空白です。
これがおなじみのように見える場合は、次のチュートリアルに従っているが、独自のものを追加しようとしているためです。どうもありがとう! http://www.raywenderlich.com/5138/beginning-storyboards-in-ios-5-part-1
編集:ストーリーボードを使用しています。ただし、事前定義されたメソッドでは、xcode に次のコメントが付属しており、Nib Name で初期化されていました。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// Navigation logic may go here. Create and push another view controller.
/*
<#DetailViewController#> *detailViewController = [[<#DetailViewController#> alloc] initWithNibName:@"<#Nib name#>" bundle:nil];
// ...
// Pass the selected object to the new view controller.
[self.navigationController pushViewController:detailViewController animated:YES];
*/
}
したがって、prepareForSegue を使用する必要があるようです。これは didSelectRowAtIndexPath で呼び出すものですか、それともそのメソッドを無視しますか?