我的问题:当用户在某个单元格中选择一个播放器时,我希望与该播放器相关的其余信息显示在新的视图控制器上
到目前为止,我的方法如下所示:
- (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 中创建的 PlayerLabel(并将 UILabel 连接到情节提要中的标签)是空白的。
如果这看起来很熟悉,那是因为我正在遵循以下教程,但尝试添加我自己的东西。非常感谢! 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 中调用的,还是我忽略了该方法?