以模态方式呈现具有搜索显示控制器并返回所选单元格的表视图控制器

时间:2011-05-20 07:29:09

标签: ios iphone uitableview uisearchdisplaycontroller presentmodalviewcontroller

在我的iOS应用程序中,我想使用UITableViewController向用户呈现项目表,让他们选择一个项目,然后将该项目返回给另一个视图控制器。我可以通过为表视图控制器定义协议和委托方法,以模态方式呈现表视图控制器,然后在用户选择项并将项返回给委托视图控制器时解除它来成功完成此操作。但是,如果我还为表视图实现搜索显示控制器(这样用户可以搜索更长列表中的特定项),我会遇到内存问题。我修改了苹果公司的“TableSearch”示例来证明这一点,并将代码发布在https://github.com/pistachionut/Table-Search-Example

简而言之,在表格视图中选择一个单元格后,应用程序通常会与EXC_BAD_ACCESS崩溃。使用NSZombieEnabled运行它表示在保留计数达到0后,表视图控制器被 - [UISearchDisplayController _destroyManagedTableView]调用。任何人都知道为什么会发生这种情况?我不认为我正在做任何额外的表视图控制器发布超出我的责任。我使用alloc和initWithNibName创建它,以模态方式呈现它,然后立即释放它(参见 - (IBAction)showProductPicker :( id)发送者在我的例子中的'PickProductViewController.m'文件中)。谢谢!

1 个答案:

答案 0 :(得分:1)