Iphone 从一个角度到同一级别的另一个角度,在航空业中发生碰撞,如何解决?
在我的项目中,有大约10个视图控制器。在其中一个视图控制器中,我在xib中又添加了一个视图控制器,以提供额外的功能(一个实际视图+为单个类添加的视图控制器)。当我尝试将ie.navigate从其actaul视图移动到添加的视图控制器时,这是第一次,它的导航很好,并且返回到实际视图。但是如果我再次使用添加的视图控制器,我的应用程序将崩溃。这是显示的错误Iphone 从一个角度到同一级别的另一个角度,在航空业中发生碰撞,如何解决?,iphone,ios,uinavigationcontroller,Iphone,Ios,Uinavigationcontroller,在我的项目中,有大约10个视图控制器。在其中一个视图控制器中,我在xib中又添加了一个视图控制器,以提供额外的功能(一个实际视图+为单个类添加的视图控制器)。当我尝试将ie.navigate从其actaul视图移动到添加的视图控制器时,这是第一次,它的导航很好,并且返回到实际视图。但是如果我再次使用添加的视图控制器,我的应用程序将崩溃。这是显示的错误 "Terminating app due to uncaught exception 'NSInvalidArgumentException',
"Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Pushing the same view controller instance more than once is not supported (<UIViewController: 0xc09e460>)'
First throw call stack:
(0x30da012 0x28b4e7e 0xb9c5b0 0xb9c098 0xa7f3f 0xab327 0x28c86b0 0x5fcfb 0x28c86b0 0x706035 0x305df3f 0x305d96f 0x3080734 0x307ff44 0x307fe1b 0x33127e3 0x3312668 0xaa265c 0x719d 0x2685)
libc++abi.dylib: terminate called throwing an exception"
我还添加了屏幕截图…如果您创建了另一个对象
AddedviewControllerClass *addedviewControllerTemp = [[AddedviewControllerClass alloc] initWithNibName:@"yourXib.xib"];
[self.navigationController pushViewController:addedviewControllerTemp animated:YES];
[addedviewControllerTemp release] //if not ARC
不能添加已在堆栈上的viewcontroller实例。在获得addedViewController实例之前,为什么不将控制器从堆栈中弹出?用于添加
视图控制器
[self presentViewController:yourView animated:YES completion:nil];
除去
[self dismissViewControllerAnimated:YES completion:nil];
从崩溃日志中可以清楚地看出,您正在推送一个viewcontroller而不是一个。在按下相同的viewcontroller之前。您将需要弹出视图控制器。检查此项:还向我详细解释一下用例,因为除了崩溃日志之外,我没有从你的问题中得到足够的信息。你能看一下图片吗。当我单击签出btn(第一视图)时,它应该导航到下一页。你能粘贴在单击签出按钮(第一视图)时执行的代码吗以及单击返回按钮(下一页)时执行的代码?让我们看看您使用什么策略返回?只需断开您的IBOutlet连接并重新连接即可
[self dismissViewControllerAnimated:YES completion:nil];