在UITableView中点击UISearchBar上的取消按钮会导致无限循环,并继续消耗内存。以下是我的情况和发现。
1)为表格的backgroundView使用自定义视图。 2)从核心数据检索到的项列表很长。 3)开始搜索,输入几个字母--一切正常。我得到了我需要的结果。 4)点击取消-等待开始。
我使用CPU分析器进行调试,并发现它卡在一个调用到[layoutsbelowifneeded]的函数中。
我删除了带有背景图像的自定义视图,一切都很好。
为什么会发生这种情况?
更新:
这是我正在使用的代码:
1)为表格的backgroundView使用自定义视图。 2)从核心数据检索到的项列表很长。 3)开始搜索,输入几个字母--一切正常。我得到了我需要的结果。 4)点击取消-等待开始。
我使用CPU分析器进行调试,并发现它卡在一个调用到[layoutsbelowifneeded]的函数中。
我删除了带有背景图像的自定义视图,一切都很好。
为什么会发生这种情况?
更新:
这是我正在使用的代码:
UIImage *image=[UIImage imageNamed:@"tableview_background.png"];
UIImageView *view=[[UIImageView alloc] initWithImage:image];
wltvc.tableView.backgroundView=view;