0

私はiOS開発に不慣れで、のソースを特定するのに問題がありSIGABRTます。UIViewControllerサブクラスの初期化中に発生するもの、特にサブクラスloadViewとメソッドの間で発生するものに絞り込みましたviewDidLoad

サブクラスNSLogのこれらのメソッドオーバーロードのそれぞれを呼び出すことで、それを絞り込みました。UIViewControllerただし、デバッガーからこれ以上の粒度を取得することはできません。私はその方法に足を踏み入れることができません[super loadView]。NSLogs以外のSIGABRTをデバッグし、デバッガーをステップスルーするためのテクニックはありますか?例外がスローされた場所を正確に確認する方法はありますか?

プログラム固有の詳細

このプログラムはコアデータを使用します。このチュートリアルに従って作成しました。SIGABRTは、「Relationships In Action」セクションを実行した後に発生し始め、以前は発生していなかったと思います(前のセクションの最後でビルドが成功したと思います)。具体的には、Personを正常に追加できますが、との間にPersonDetailTableViewControllerSIGABRTをスローします。loadViewviewDidLoad

iPhoneシミュレーターからアプリを削除し、Product>Cleanを実行してみました。どちらも効果はありませんでした。

4

1 に答える 1

0

犯人を見つけた。Table View Cell以前、Ctrlキーを押しながら'sText FieldからサブクラスにドラッグしてIBOutletを誤って作成していましたUITableViewController。これで作成したコードを手動で削除しましたが、接続が接続インスペクターに残っていました。その接続を削除すると問題が解決しました-SIGABRTはもう必要ありません。

Xcodeが問題を認識しているのは残念ですが(添付の画像の感嘆符を参照)、謎のSIGABRT以外は何も教えてくれませんでした...。

接続インスペクターに無効な接続が表示されます

于 2013-02-10T21:46:52.720 に答える