【Xcodeお勉強】ViewControllerにTableViewを埋め込んだ時は素直にdelegateを使う

自分でも何言ってるかよくわからないが、結局この方法はだめっぽい。なんでクラッシュしてしまうのかはそのうちわかると信じ(涙)、だめな方法と解決策を載せる。

やろうとしたこと
・ViewControllerにTableViewを配置した
・サブクラスにTableViewControllerを持つカスタムクラスを作成し、ViewControllerに関連付けた
・UITableViewControllerがUIViewControllerを継承しているのでdelegateのプロトコルで実装しなくてもいけると思った
・overrideしてメソッドを実装した
・結果、[UITableViewController loadView] loaded the “xxxxxxxxxxxxxx” nib but didn’t get a UITableView.’というエラーを返し、アプリが落ちた。解決策

・素直にTableViewControllerを設置するかもしくはdelegateの処理を書いてoverrideをやめるしかなさそう。

同じように諦めたと思われる例

継承するときにはUITableViewControllerではなくUIViewControllerを継承しなくてはならない

 

その他参考になりそうなリンク

偉い人になんでこれがだめなのか教わりたいのでわかった人はTwitterにご連絡お願いします。

明日はとりあえずdelegateで解決できるのか試してみる。

この記事が気に入ったら
いいね ! しよう