1

我制作了一个与 Apple 的联系人应用程序非常相似的 iOS5 应用程序。一个搜索栏,一个 serachdisplaycontroller 一个 tableview。当用户点击一个单元格时,会使用 segues 呈现详细视图(模态样式...)。一切正常,但是……我看到我的应用程序在真正的 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:]:此类不符合键值编码的键 searchBar 。*首先抛出调用栈:...

所以由于某种原因,当操作系统想要我的应用程序的一些内存时,serachbardisplaycontrol 变得无效(我猜)

有任何想法吗?

4

1 回答 1

1

我想我已经成功解决了这个问题。当触发内存不足的情况时,它归结为搜索栏处于活动状态。当您遇到内存不足的情况时,请执行以下操作:

[self.searchDisplayController setActive:NO animated:NO];

那应该解决它。

于 2012-12-06T19:16:13.113 回答