XCode 7.3,ObjC单视图项目。 iOS模拟器。
我在一个名为“LoginViewController”的UIViewController中。我单击一个按钮,它调用一个名为Login的方法。在登录中我打电话
[self performSegueWithIdentifier: @"Login" sender:sender];
在performSegueWithIdentifier方法中,我使用if语句在“Login”条件上进行选择,并在此存根的早期阶段执行此操作:
if ([[segue identifier] isEqualToString:@"Login"]) {
MainMenuViewController *mmvc = segue.destinationViewController;
mmvc.strUsername = self.txtUsername.text;
mmvc.strPassword = self.txtPassword.text;
}
MainMenuViewController加载正常,我的数据在UI中可见,但在完成prepareForSegue方法后,控制台将其吐出:
UIView:0x7fc19beaaf60; frame =(0 0; 320 568); autoresize = W + H; layer = CALayer:0x7fc19beab0d0的窗口不等于MainMenuViewController:0x7fc19bd2d300>的视图窗口!
有什么想法吗?
谢谢!
答案 0 :(得分:0)
诀窍是在视图控制器的视图和下一个视图控制器之间创建segue,而不是在按钮和下一个视图控制器之间创建。请参阅解决此问题的此解决方案:Defining a "generic" segue in Interface Builder