3

我正在开发一个应用程序,该应用程序将具有许多子视图,例如社交网络应用程序的流程instagram和类型,流程是图像->详细图像->任何评论->用户名->关注->用户名->图像用户名->图像->picyou详细图片->任何评论->用户名->关注->用户名->图片用户名->该死的,这是无限的,永远不会停止.....

并且永远不会收到内存警告或因内存问题而崩溃...

我正在使用导航控制器,但经过一段时间的导航更改一些视图控制器后,它给了我这样的错误*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Pushing the same view controller instance more than once is not supported (<ViewController: 0x6d97110>)'

我想在按下后做同样的事情,你也会得到所有的数据。你知道该怎么做吗?

4

1 回答 1

1

UINavigationController 自动支持您描述的这种行为。内存高效且可能无限。每次您想从应用程序的一个部分转到下一个应用程序时,您只需使用与此类似的代码。

ViewController *vc = [[ViewController alloc] init];
//customize ViewController
[self.navigationController pushViewController:vc animated:YES];

因此,如果您想从照片转到照片详细视图,只需在按下按钮时按下照片详细视图控制器即可。即使您已经在照片细节视图控制器中,您也可以从该类中推送另一个。只要确保创建一个单独的实例。从你的错误来看,我认为这是你现在的问题。

我还发现最好为这些类型的视图控制器创建一个自定义初始化程序。对于照片详细信息视图,请使用类似的东西。

-(id)initWithPhoto:(Photo*)photo;
于 2012-10-03T12:19:11.317 回答