質問: ### 前提・実現したいこと 初めて質問させていただきます。 私は現在Xcode7でiPhone用のアプリケーションを作成しています。 その中で画面の切り替えを行っているのですが 画面Aから画面Bに移行した際に画面Bの「閉じるボタン」を押すと画面Bが消えて画面Aが再度表示されるというような処理を実装しようとしています。 しかし、閉じるボタンを押すと「Thread 1:signal SIGABRT」というエラーでアプリケーションがクラッシュしてしまいます。 ブレークで調べていくとどうやら画面Aが表示されてからクラッシュしているようでした。 ネットで調べたところこのエラーはいたるところで発生する可能性があるということでしたので原因を端から探ってみたのですがどのサイトの情報も解決までには至りませんでした。 そこでもし同じようなエラーをご存知の方がいらっしゃいましたらご教授いただければと思います。 ※アップしてあるソースコード及びエラーコードは一部修正させていただいています ### 発生している問題・エラーメッセージ main.mの中でクラッシュしてしまっています ![](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/9faf155345d965863f8495bf2dda9384.png) クラッシュした際のログメッセージです ![](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/82ed075d5a268a5adb84f849ea997c24.png) クラッシュした際のバックトレースです ![](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/a6ba46ff9a99c206e1f91817b8b9db20.png) ### 該当のソースコード 画面切り替え時のソースコードです ![](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/066298588283264614842a4fe2022a8c.png) ### 試したこと ・ビルドのクリーン ・Xcode及びPCの再起動 ・UIパーツとの関連付けの確認 ### 補足情報(言語/FW/ツール等のバージョンなど) OS X :10.11.3 Xcode:7.3 iOS :9.3 言語 :Objective-c
回答: クラッシュした時に出力されているログメッセージに "UITextField was deallocated while key value observers were still registered with it" と書かれていることから、UITextFieldのプロパティを監視するオブザーバーが登録されてあって、画面を戻る前にそれを削除するのを忘れているような気がします。 その辺りを見直すことをお勧めします。