2011-08-30 47 views
0

在我的应用程序中,我有一个viewcontroller,抛出UIImagePickerController产生memory warning。经过多次研究,我没有找到解决方案来防止此警告。如何在记忆警告后保留我的导航历史?

问题是:当我的应用程序收到memory warning时,导航历史记录似乎丢失,当用户按下后退按钮时,我的应用程序启动第一个控制器。 (就像我的应用程序启动时一样)

如何在memory warning之后保留我的导航历史? 或更好的如何我可以删除这memory warningUIImagePickerController? (我尝试了很多在stackoverflow.com和google.com上找到的解决方案)

对我来说,另一个解决方案是阻止memory warning释放我的控制器的所有数据。

回答

0

我无法帮助您在不查看代码的情况下发出内存警告,但似乎TTNavigator会将您发回堆栈中的第一个视图控制器,因为它无法保留其他视图控制器。

您是从TTViewController继承吗?如果不是,你应该尝试。其次,如果你仍然有从TTViewController继承问题后考虑实施在您的视图控制器下面的方法:在UIViewControllerAdditions.h被限定用于Three20UI项目

- (BOOL)persistView:(NSMutableDictionary*)state { 
    // Save important state information into the state dictionary 
    // provided to you and return yes to tell TTNavigator to persist 
    // this view controller 
    return YES; 
} 

- (void)restoreView:(NSDictionary*)state { 
    // Read the values you saved in state and restore your view 
    // controller's state 
} 

这些方法。希望有所帮助。

+0

感谢您的回答,我将与此合作。 – sahid