時々、私はいくつかのアプリケーションの幅広いカスタマイズのためにUIViewControllerをサブクラス化したいと思うことがあります。例えば。すべてのView ControllerがviewDidLoadまたはviewWillAppearの間に実行する必要があるものです。UIViewControllerとUITableViewControllerの違い
もちろん、私はUIViewControllerをサブクラス化してそこから移動し、すべてのView Controllerはそれを継承します。しかし、コントローラの中にはテーブルを実行するものもあります。そして、その目的のために設計されたUITableViewControllerがあります。
私もUITableViewControllerをサブクラス化して、同じことをやっています。これは、OOPの面で最もスマートなものではないようです。そして、そこ
何の多重継承などではないとのUITableViewControllerは今...のUIViewControllerから
を継承するとして、私はちょうど私の非常に自身のビューコントローラを継承する私自身のテーブルビューコントローラを作成していない理由を私は自分自身を求めていますサブクラス化し、すべてのテーブルのものを追加します。しかし、は "すべてのテーブルのもの"は何ですか?
- xcodeが新しいテーブルビューコントローラごとに追加するスケルトンコードがあります。かなり便利ですが、簡単にコードスニペットに移動できます。
- プロトコルUITableViewDelegateとUITableViewDataSourceの宣言があります。のんきな。これらのメソッドの実装は、とにかくUITableViewControllerの各サブクラスに従わなければなりません。
- おそらく、プロトコルのすべての必須メソッドの適切なデフォルト実装があります。またはheightForRowAtIndexPathためtitleForHeaderInSectionまたは44.0fにnil:(。悪い例しかし、すべてのことを賢くを実装していないことでした)このようなnumberOfSectionsInTableViewに0を返すよう
それほど明白なものにもかかわらず、のUITableViewControllerが取るすべての奇跡がありますケア?
回答いただいた皆様、ありがとうございます。これは、この特定のアーキテクチャの決定に多くの助けとなります。 –