我正在开发一个应用程序,其中有许多子视图,例如流程为图像的instagram
和picyou
种社交网络应用程序 - >详细图像 - >任何评论 - > username-> follow-> username-> image username-> image-> detail image-> any comment-> username-> following-> username-> image username->该死的无限永远不会停止.....
并且永远不会因内存问题而获得内存警告或崩溃...
我正在使用导航控制器,但是经过一段时间的导航更改了一些视图控制器后,它会给我这样的错误*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Pushing the same view controller instance more than once is not supported (<ViewController: 0x6d97110>)'
我想按下这样做,你也会得到所有数据。你知道怎么做这个吗?
答案 0 :(得分:1)
UINavigationController自动支持您描述的此行为。内存效率高且可能无限。 每当你想从一个应用程序转到下一个应用程序时,你只需使用与此类似的代码。
ViewController *vc = [[ViewController alloc] init];
//customize ViewController
[self.navigationController pushViewController:vc animated:YES];
因此,如果您想从照片转到照片详细视图,只需在按下按钮时按下照片详细视图控制器。即使您已经在照片详细信息视图控制器中,您也可以从该类中推送另一个。只需确保您创建一个单独的实例。从你的错误判断,我认为这是你现在的问题。
我还发现最好为这些类型的视图控制器创建自定义初始化程序。对于照片详细信息视图,请使用类似的内容。
-(id)initWithPhoto:(Photo*)photo;