nszombieenabled私のアプリを修正しますか?
-
09-10-2019 - |
質問
特定のビューコントローラーをプッシュしたら、それをポップしてから、一見ランダムな数の回数を繰り返します。最終的にエラーexc_bad_accessでアプリがクラッシュします。
これは毎回確実に複製できます。ビューコントローラーをポップするのは主に2回目ですが、3番目または4番目になることもあります。
そこで、私はnszombieenabledを設定して、問題が何であるかを確認することにしました。
しかし、これにより、クラッシュを複製することはできません。変更されたのは、アクティブな実行可能ファイルの構成の「nszombieenabled」の横にあるボックスをチェックし、アプリが完全に機能することです。
これを引き起こしているものは何ですか?
ありがとう
解決
シミュレーターのiPhoneアプリでも同じ問題がありました。特定のビューコントローラーをポップしたときにEXC_BAD_ACCESSを投げますが、NSZOBMIEENABLEDがオンになるとすぐにエラーが消えました。
それを絞り込むために、私はポップされたViewコントローラーのDeallocのすべてのリリースをコメントしました。これにより、アプリがクラッシュするのを防ぎ、再びクラッシュするまで1つずつ解き放ち、問題の変数が明らかになりました。
私の場合、exc_bad_accessを投げていたのは実際に変数のリリースステートメント自体でした
リリースしない以外に、そこから修正する方法を正確に伝えることはできません。コードを調整してクリーニングした後、うまく機能することができましたが、変更をロールバックしてエラーを再度取得し、正確な修正を絞り込もうとすると、問題を再現することができませんでした。私は実際に最初のロールバックでそれを手に入れましたが、二度とはありませんでした。たぶん仕事に環境的なものがありますか?
これは正確には答えではありませんが、誰かが正しい方向に向かっていることでしょう。