NavigationViewController与包含WebView的View Controller

时间:2011-09-01 11:12:15

标签: iphone memory uinavigationcontroller navigationcontroller

导航控制器出了问题。

首先,有一个navigationviewcontroller。

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

我在加载WEBcontroller时会自动加载google.com。该函数位于-viewDidLoad()

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

然后,当我点击google.com中的任何链接时,navigationview会推送一个新视图 [self.navController pushViewController:newWebController animated:YES]; [newWebController gotoUrl:[request.URL absoluteString]];

当然,它有效。新加载的(和alloc)WEBController.m通过调用“gotoUrl”函数加载gmail.com。

然后,我点击其他链接去“gmail.com/help”

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

然后,我关闭应用程序,玩一些游戏......它让iPhone免费记忆。

再次启动应用程序,会显示“gmail.com/help”网页。然后,我单击位于navigationBar的[Back]按钮,该按钮调用[popViewController]。

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

BUT !!这儿存在一个问题。因为iPhone的内存是“dealloc”,所以WEBController加载了“google.com”页面,而非“gmail.com”页面。

我已经搜索过这个问题,但我找不到任何问题。

非常感谢您阅读并对我的问题表示感兴趣。

1 个答案:

答案 0 :(得分:0)

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