我制作的iOS5应用程序与Apple的Contacts-app非常相似。一个搜索栏,一个serachdisplaycontroller一个tableview。当用户点击单元格时,使用segue呈现详细视图(模态样式...)。一切运作良好,但是...当应用程序在后台睡了几个小时然后再次激活时,我看到我的应用程序崩溃在真正的iPhone 4S设备上。在有序的情况下,崩溃是不可能重新创建的。好吧,某种记忆问题......
在iOS模拟器上,我可以看到崩溃,如果
- >点击一个单元格(或设置视图的按钮) - >显示详细视图(或显示设置视图) - >发出“模拟内存警告” - >用户尝试使用“完成”按钮导航回来。
- (IBAction)done:(id)sender
{
[self.delegate detailedViewControllerDidFinish:self];
}
- (void)detailedViewControllerDidFinish:(DetailedViewController *)controller
{
[self dismissModalViewControllerAnimated:YES];
}
2012-01-17 19:58:43.777 MyApp [89968:f803] *由于终止应用 未捕获的异常'NSUnknownKeyException',原因:'[setValue:forUndefinedKey:]:这个类不是键值 符合编码的关键搜索栏。' * 首先抛出调用堆栈:...
所以出于某种原因,当操作系统想要我的某些应用内存时,serachbardisplaycontrol无效(我猜)
有什么想法吗?
答案 0 :(得分:1)
我想我已成功解决了这个问题。它归结为在触发低内存条件时搜索栏处于活动状态。当您遇到内存不足的情况时,请执行以下操作:
[self.searchDisplayController setActive:NO animated:NO];
那应该解决它。