【Xcode】Navigation-based Applicationテンプレートでの注意点
Xcodeで新規にプロジェクトを作成する場合、テンプレートの存在はありがたいです。
必要なものが最初からそろっており、開発に集中できるからです。
かといってそのまま変更するだけでは実行時エラーが出るものもあります。
今回はNavigation-based Applicationテンプレートでの注意点を1つ挙げてみます。

このテンプレートでは最初、RootViewControllerにTableViewがあります。
たしかにテーブルをタップしたときに次のViewに遷移する例としてはいいのですが、
TableViewを使わない場合は消す必要があります。
ところが単にTableViewを消すだけでは次の実行時エラーが出ます。
(デバッグコンソールに表示されます。)
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UITableViewController loadView] loaded the "RootViewController" nib but didn't get a UITableView.'
要するに「UITableViewがない」というエラーです。
原因は下の箇所を直せばいいだけです。
RootViewController.mファイルで
@interface RootViewController : UITableViewController
↓
@interface RootViewController : UIViewController
(これはRootViewControllerのViewをUIViewControllerとした場合)
まさか最初RootViewControllerがUITableViewControllerを継承しているなんて、見逃し気味になりますね。
どの箇所がエラーとは表示されないのでもどかしい限りです^^
言われてみれば当たり前のエラーですが、言われるまでなかなか気づかないね。
↓この記事が参考になったら拍手をクリックお願いします。今後のブログ作りに役立てたいので。
- 関連記事
-
- 【Xcode】Navigation-based Applicationテンプレートでの注意点(その2) 戻るボタンが出ないときの対処法 (2011/07/26)
- 【Xcode】「ビルド前に保存しますか?」の確認アラートを表示させない方法 (2011/07/14)
- 【Xcode】Objective-Cで最初からあるViewのサイズ変更 (2011/07/08)
- 【Xcode】Navigation-based Applicationテンプレートでの注意点 (2011/06/30)
- 【Xcode】よく使うショートカット (2011/02/15)