Ios 无法在PrePreForSegue中设置NavigationController的出口值TopViewController
我的项目具有以下场景: [预览视图控制器]-->(模式)-->导航控制器--(顶部)-->[照片设置视图控制器] 在[Preview View Controller]中,我有一个按钮将执行模式顺序(identifier=“PreviewToSetting”),我在[Preview View Controller].m文件中有一个按钮定义prepareForSegue方法: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
- (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”
为标签文本创建一个属性,如
NSString*labelText
,并将值@“TEST”
分配给该属性,然后在视图中将出现:
方法将其分配给标签将完成您的工作,因为该属性在开始时为IBOutlet,但未初始化。所以试着做一些类似的事情
为标签文本创建一个属性,如
NSString*labelText
,并将值@“TEST”
分配给该属性,然后在视图中将出现:
方法将其分配给标签将完成您的工作谢谢!它就像一个符咒!备忘出口尚未在分段准备时初始化。谢谢,尽管视图将出现
可能太晚了viewDidLoad:
已经初始化了topViewController
。感谢您的建议。我将大胆地在我未来的项目中实施它:)谢谢!它就像一个符咒!备忘出口尚未在分段准备时初始化。谢谢,尽管视图将出现
可能太晚了viewDidLoad:
已经初始化了topViewController
。感谢您的建议。我将在今后的项目中大胆实施它:)