使用storyboard的执行方法segue
问题描述:
我在第二个View Controller上有一个方法,它根据来自第一个View Controller的值设置标签的文本。我怎样才能调用prepareForSegue方法?我已经将第二个VC的方法设置为-(void)setName:(NSString *)name;
然后我在prepareForSegue中将其称为[secondVC setName:@"Steve Jobs"];
,但标签似乎没有更改其文本,尽管我可以在NSLog名称变量中看到值。使用storyboard的执行方法segue
答
您正试图设置尚未加载的标签上的文本,因为prepareForSeque
发生在viewDidLoad
之前。
一种解决方法是在prepareForSegue
中设置第二个VC的属性上的文本,然后在viewDidLoad
中用该文本配置标签。
+0
好的。我不知道prepareForSegue是在viewDidLoad之前出现的。这就是为什么它不设置标签的文本。因为我现在才开始使用故事板,所以忽略了这些细节。 –
那么'secondVC'是'UILabel'? – Raptor
secondVC包含一个为UILabel设置名称的方法,假设在所述方法内是沿着myLabel.text = name; –
确保您未在viewDidAppear中设置标签标题,因为这可能会覆盖您传入的值。 –