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

发布于 2024-11-08 07:54:10 字数 727 浏览 5 评论 0原文

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

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

in my iOS application, i'm wanting to present the user a table of items using a UITableViewController, have them select an item, then return that item back to the another view controller. i can do this successfully by defining a protocol and delegate method for the table view controller, presenting the table view controller modally, then dismissing it when the user selects an item and returning the item to the delegate view controller. but, if i also implement a search display controller for the table view (so the user can search for a specific item in a longer list) i run into a memory issue. i've modified apple's 'TableSearch' example to demonstrate this, and have posted the code at https://github.com/pistachionut/Table-Search-Example

in short, the app usually crashes with an EXC_BAD_ACCESS just after selecting a cell in the table view. running it with NSZombieEnabled is indicating that the table view controller is being called by -[UISearchDisplayController _destroyManagedTableView] after its retain count has reached 0. anyone have an idea why this is happening? i don't think i'm doing any additional releasing of the table view controller beyond what i'm responsible for. i create it using alloc and initWithNibName, present it modally, then imediately release it (see -(IBAction)showProductPicker:(id)sender in the 'PickProductViewController.m' file in my example). thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文