1

ランドスケープ モードをサポートする UITableviewControllers が複数あり、ランドスケープ モードをサポートしない UIViewController が 1 つあります。どのビューが表示されているかに関係なく、横向きモードでアプリを閉じると、次の例外が発生します。

* キャッチされない例外 'NSInvalidArgumentException' が原因でアプリを終了します。理由: '-[LedgerViewController setRefreshed:]: 認識されないセレクターがインスタンス 0x161df0 に送信されました'

縦向きモードでアプリを閉じても、例外は生成されません。

私のプロジェクトを完全に検索しても、「setRefreshed」という用語は見つかりません。また、Apple のドキュメントや Google でこの用語を見つけることもできません。

何か案は?

4

1 に答える 1

0

この問題を見つけたのは、raywenderlich.com の AWESOME の人々のおかげです。彼らは時間を割いて、利用可能な最高のチュートリアルをいくつか書いてくれました: My App Crashed, Now What? - パート1

例外ブレークポイントにより、ApplicationDelegate で、navingationController の rootViewController が「リフレッシュ済み」の BOOL プロパティを持つ「RootViewController」であると想定された不適切なコードが発生しました。ランドスケープ モード用に別のビューを実装するまでは、これは適切な想定でした。したがって、横向きモードでのみ例外がスローされた理由です。

今日学んだこと:

  1. KVC では、「setRefreshed」が「????.refreshed」に相当する KVC であることは明らかだったはずです。
  2. 何年も前に、高度なデバッグ手法について読んでおくべきでした。
于 2012-07-31T03:19:06.870 に答える