在向新的视图控制器传值时,需要实现在viewDidLoad方法中进行初始化吗?

//如,现在要进入一个新的视图控制器:

{
NewController *controller = [[NewController alloc] init];
card = self.card;

controller.nameLabel.text = card.name;
controller.descriptionLabel.text = card.description;

[[self navigationController]pushViewController:controller animated:YES];
}

//运行后,新导入的视图控制器的相关标签没有传值,如果在新的控制器的viewDidLoad方法中进行初始化,就可以了
-(void)viewDidLoad{
nameLabel.text = item.name;
descriptionLabel.text = item.description;
}

问题:为何在第一种情况下,也对controller的nameLabel.text和controller.description进行了赋值,所生成的视图控制器的标签并没有改变?

阅读 3.8k
1 个回答

视图没有载入之前,你的 nameLabeldescriptionLabelnil.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题