Ios 无法在PrePreForSegue中设置NavigationController的出口值TopViewController

Ios 无法在PrePreForSegue中设置NavigationController的出口值TopViewController,ios,xcode4.2,storyboard,Ios,Xcode4.2,Storyboard,我的项目具有以下场景: [预览视图控制器]-->(模式)-->导航控制器--(顶部)-->[照片设置视图控制器] 在[Preview View Controller]中,我有一个按钮将执行模式顺序(identifier=“PreviewToSetting”),我在[Preview View Controller].m文件中有一个按钮定义prepareForSegue方法: - (void)prepareForSegue:(UIStoryboardSegue *) segue sender:(id

我的项目具有以下场景:

[预览视图控制器]-->(模式)-->导航控制器--(顶部)-->[照片设置视图控制器]

在[Preview View Controller]中,我有一个按钮将执行模式顺序(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";
    }
}
我在这个过程中设置了断点,并看到上面的块运行时没有出现错误。segue的表现确实很成功,并将我带到了“照片设置”场景,但是Lbraudio的文本并没有像我认为的那样设置为“测试”,有人知道为什么吗

更多信息:

  • lblAudio是表节中静态表单元格中PhotoSettingViewController(UITableViewController子类)中的UILabel Outlet属性
  • Lbraudio被精神化并定义为

    @属性(强,非原子)IBUILabel*lblAudio

  • lblAudio IBOutlet是正确绑定的,因此如果我在viewwillappeard方法中重新定义text属性,比如self.lblAudio.text=@“TEST”,标签文本将正确地更改为“TEST”


由于该属性在开始时为IBOutlet,因此未初始化。所以试着做一些类似的事情


为标签文本创建一个属性,如
NSString*labelText
,并将值
@“TEST”
分配给该属性,然后在
视图中将出现:
方法将其分配给标签将完成您的工作

,因为该属性在开始时为IBOutlet,但未初始化。所以试着做一些类似的事情


为标签文本创建一个属性,如
NSString*labelText
,并将值
@“TEST”
分配给该属性,然后在
视图中将出现:
方法将其分配给标签将完成您的工作

谢谢!它就像一个符咒!备忘出口尚未在分段准备时初始化。谢谢,尽管
视图将出现
可能太晚了
viewDidLoad:
已经初始化了
topViewController
。感谢您的建议。我将大胆地在我未来的项目中实施它:)谢谢!它就像一个符咒!备忘出口尚未在分段准备时初始化。谢谢,尽管
视图将出现
可能太晚了
viewDidLoad:
已经初始化了
topViewController
。感谢您的建议。我将在今后的项目中大胆实施它:)