我正在使用Objective-C。我将segue从表视图单元格设置为新的视图控制器,我想使用此方法设置新视图控制器的属性:
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString: @"detail"]){
if([segue.destinationViewController isKindOfClass:[detailViewController class]]){
detailViewController *detail = (detailViewController *)segue.destinationViewController;
detail.label.text = @"QQQQQ";
}
}
我已经将segue的标识符设置为@“detail”,并且还将标签代码与storyboard中的视图控制器相关联。但是当我在我的模拟器中运行它时,标签永远不会改变。
答案 0 :(得分:0)
在调用<%= render 'layouts/header' %>
<%= render 'layouts/navbar' %>
<%= yield %>
时,目标视图控制器的插座尚未设置。
您需要做的是在prepareForSegue
类中创建一个属性,如
detailViewController
然后在@property (copy, nonatomic) NSString *detailText;
:
prepareForSegue
以及detailViewController *detail = (detailViewController *)segue.destinationViewController;
detail.detailText = @"QQQQQ";
detailViewController
:
viewDidLoad