gpt4 book ai didi

ios - 无法在 PreapreForSegue 中设置 NavigationController 的 Outlet 值 TopViewController

转载 作者:行者123 更新时间:2023-12-01 16:56:56 25 4
gpt4 key购买 nike

我的项目有以下场景:

[Preview View Controller] --(Modal)--> Navigation Controller --(Top)--> [Photo Setting View Controller]

在 [Preview View Controller] 中,我有一个将执行模态 segue 的按钮(identifier="PreviewToSetting"),我在 [Preview View Controller].m 文件中定义了 prepareForSegue 方法:

- (void)prepareForSegue:(UIStoryboardSegue *) segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"PreviewToSetting"]) {
UINavigationController *unc=segue.destinationViewController;
PhotoSettingViewController *psvc=(PhotoSettingViewController *) unc.topViewController;
psvc.lblAudio.text=@"TEST";
}
}

我在这个过程中设置了断点,并且确实看到上面的 block 运行没有错误。 segue 确实成功执行并引导我进入“照片设置”场景,但是 lblAudio 的文本没有像我认为的那样设置为“测试”,有人知道为什么吗?

更多信息:
  • lblAudio 是 PhotoSettingViewController(UITableViewController 子类)中的一个 UILabel Outlet 属性,位于表格部分的静态表格单元中
  • lblAudio 被合成并定义为

    @property (strong,nonatomic)IBOutlet UILabel *lblAudio;
  • lblAudio IBOutlet 已正确绑定(bind),因此如果我在 viewWillAppear 方法中重新定义 text 属性,如 self.lblAudio.text=@"TEST",标签文本将正确更改为"TEST"。
  • 最佳答案

    由于属性在 segue 时为 IBOutlet,因此未初始化。所以尝试做类似的事情

    为标签文本创建一个属性,如 NSString *labelText并赋值 @"TEST"到该属性和 viewWillAppear:将其分配给标签的方法将完成您的工作

    关于ios - 无法在 PreapreForSegue 中设置 NavigationController 的 Outlet 值 TopViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10893352/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com