次のエラーが表示されます。
"An Objective-C message was sent to a deallocated object (zombie) at address: 0x118208a0"
5 タブのアプリで 1 つのタブから別のタブに切り替えるとき。
このアプリは、デバイスにある Music/iTunes アプリと同様の方法でセットアップされます。5 つのタブがあり、各タブには他の画面にリンクする UINavigationController が含まれています。
このクラッシュは、次の操作を行った場合にのみ発生します: -
「MORE」タブをクリックします-
「Image Gallery」オプションを選択します-これ
により、「ImageGallery」viewController が開きます (「presentModalViewController」を介して - 「pushViewController」ではありません -しかし、これはクラッシュの原因とは何の関係もないと思います)
-次に、「ImageGallery」を閉じます ([self disconnectModalViewControllerAnimated:YES] アクションをトリガーするボタンがあります) - そして、「MORE」タブに戻ります.
-「ホーム」タブに切り替えると、クラッシュ!
これは、「MORE」タブから「HOME」タブに切り替えたときにのみ発生します。他のタブ切り替えでは発生せず
、「MORE」タブの「ImageGallery」にアクセスした後にのみ発生します。
つまり、「MORE」で他のオプションを選択すると (他の画面に移動します) 、「HOME」タブに切り替えると、すべて問題ありません。「MORE」内の「ImageGallery」にアクセスし、「HOME」(および「HOME」のみ)に切り替えた後にのみクラッシュします。
NSZombies が有効になっている計測器は、これを示しています。
したがって、これは明らかに、「MORE」ビューコントローラー内から「ImageGallery」ビューコントローラーを呼び出すと発生します。しかし、「メッセージが割り当て解除されたオブジェクトに送信されました」というエラーが発生した場合、そもそも「HOME」タブから「ImageGallery」に何らかのメッセージが送信される理由/方法/時期は意味がありません。「HOME」タブは「ImageGallery」を呼び出したり参照したり、認識したりしないためです。また、アプリの他の 3 つのタブではなく、[ホーム] タブに切り替えたときにのみ発生するのはなぜですか?
何か案は?(そして、画像グラブの赤くハイライトされた線の横にある 86.2% は何を意味するのでしょうか?)