Iphone NavigationViewController与包含视图控制器的WebView

Iphone NavigationViewController与包含视图控制器的WebView,iphone,memory,uinavigationcontroller,navigationcontroller,Iphone,Memory,Uinavigationcontroller,Navigationcontroller,我的导航控制器有问题 首先,有一个navigationviewcontroller 此外,还有一个包含视图控制器的webviewcontroller,这意味着webview控制器加载在WEBcontroller.m中 我做的是,当WEBcontroller加载时,它会自动加载google.com。该函数位于-viewDidLoad中 首先,当应用程序启动时,navigationview加载WEBcontroller.m,然后WEBcontroller按照预期加载google.com 然后,当我点

我的导航控制器有问题

首先,有一个navigationviewcontroller

此外,还有一个包含视图控制器的webviewcontroller,这意味着webview控制器加载在WEBcontroller.m中

我做的是,当WEBcontroller加载时,它会自动加载google.com。该函数位于-viewDidLoad中

首先,当应用程序启动时,navigationview加载WEBcontroller.m,然后WEBcontroller按照预期加载google.com

然后,当我点击google.com中的任何链接时,navigationview会用 [self.navController pushViewController:newWebController动画:是]; [newWebController-gotoUrl:[request.URL绝对字符串]]

当然,它是有效的。新加载的alloc WEBController.m通过调用GoTour函数加载gmail.com

我点击另一个链接进入gmail.com/help

所以, google.com->gmail.com->gmail.com/help

然后,我关闭应用程序,玩一些游戏。。。它使iPhone释放内存

再次启动应用程序时,会显示gmail.com/help网页。然后,我单击导航栏上的[Back]按钮,该按钮调用[popViewController]

然后,导航控制器正确地返回到前面显示gmail.com页面的WEBController.m

但是!!有一个问题。因为内存是iPhone的“dealloc”,网络控制器再次加载的是google.com页面,而不是gmail.com页面

我搜索了这个问题,但没有找到


非常感谢您阅读并对我的问题给予一些关注。

我很困惑。您正在使用UIWebView?如果是这样,为什么不让它处理链接/导航?为什么每次点击链接都要创建并推送一个新的UIWebView?从技术上讲,视图控制器需要能够处理IOS从内存中释放和恢复的操作。这是在viewDidLoad和viewDidUnload中完成的。但我认为这不是您想要/需要的。

我无法用技术术语解释。实际上,我并不总是推出新的UIWebView,但为了方便起见,我在这里这样解释。我将用另一个例子解释,如果有一个tabcontroller有两个tab项。当我单击第一个选项卡,然后单击第二个选项卡时。此时,将加载两个UIView。然后,我玩一些游戏,iOS将释放第一个标签的UIView。当我重新启动应用程序时,我可以正确地看到第二个选项卡的UIView,但当我再次单击第一个选项卡时,我编写或更改的所有信息都将丢失。我怎么办?谢谢!如果您有需要保存的状态,则必须编写代码来保存。这要看你怎么做。你没有透露太多细节。可能用户在UITextField中输入文本,您希望保存它。您可以有一些备份存储,例如存储该字段的SQLLite和NSManagedObjects。或者,如果您不需要这些信息来延长跑步应用程序的使用寿命,请将其存储在您创建的内存对象中。但是您需要处理视图被卸载和重新加载的情况。因此,可能singleton或您的应用程序委托保留了对该对象的引用。