繁体   English   中英

无法使用prepareForSegue设置下一个视图的属性:发送者:

[英]Can't set the properties for the next view using prepareForSegue: sender:

我正在使用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”,并且还将标签代码与情节提要中的视图控制器相连。 但是,当我在模拟器中运行该标签时,标签将永远不会更改。

在调用prepareForSegue时,尚未设置destinationviewcontroller的出口。

您要做的是在detailViewController类中创建一个属性,例如

@property (copy, nonatomic) NSString *detailText;

然后在prepareForSegue

detailViewController *detail = (detailViewController *)segue.destinationViewController;
detail.detailText = @"QQQQQ";

在你的detailViewControllerviewDidLoad

self.label.text = self.detailText;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM