私のiOSアプリケーションでは、UITableViewControllerを使用してユーザーにアイテムのテーブルを表示し、アイテムを選択してもらい、そのアイテムを別のViewControllerに戻したいと考えています。テーブルビューコントローラーのプロトコルとデリゲートメソッドを定義し、テーブルビューコントローラーをモーダルに提示し、ユーザーがアイテムを選択したときにそれを閉じて、アイテムをデリゲートビューコントローラーに返すことで、これを正常に行うことができます。しかし、テーブルビューの検索表示コントローラーも実装すると(ユーザーがより長いリストで特定のアイテムを検索できるように)、メモリの問題が発生します。これを示すためにアップルの「TableSearch」の例を変更し、https://github.com/pistachionut/Table-Search-Exampleにコードを投稿しました
つまり、アプリは通常、テーブルビューでセルを選択した直後にEXC_BAD_ACCESSでクラッシュします。NSZombieEnabledで実行すると、保持カウントが0に達した後、テーブルビューコントローラーが-[UISearchDisplayController _destroyManagedTableView]によって呼び出されていることを示します。これが発生する理由を誰かが知っていますか?自分が担当している以上に、テーブルビューコントローラの追加リリースを行っているとは思いません。allocとinitWithNibNameを使用して作成し、モーダルで提示してから、すぐに解放します(私の例では、「PickProductViewController.m」ファイルの-(IBAction)showProductPicker:(id)senderを参照してください)。ありがとう!