たとえば、3 つの UIViewController があるとします。
- ユーザーフォームViewContoller
- NewUserFormViewController : UserFormViewController
- UpdateUserFormViewController : UserFormViewController
そのため、NewUserFormViewController と UpdateUserFormViewController ビュー コントローラーはその親から継承し、基本的な機能を共有します。異なるのは、作成と更新の方法です。
ビューにも多くの共通点があり、ほとんどすべてです。NewUserFormViewController と UpdateUserFormViewController の間の異なるビュー コンポーネントは、保存タスク (作成または更新) を実行するためのボタンです。
2 つの UIViewController で 1 つの XIB ファイルを共有することは可能ですか? たとえば、UserFormViewController.xib とします。
[[NewUserFormViewController alloc] initWithNibName@"UserFormViewController" bundle:nil];
[[UpdateUserFormViewController alloc] initWithNibName@"UserFormViewController" bundle:nil];
もう 1 つの重要な質問は、Interface Builder で xib ファイルを編集するときに、NewUserFormViewController または UpdateUserFormViewController のどの所有者の参照アウトレットと IBActions について話しているかということです。 (プレースホルダー -> ファイルの所有者を右クリックすると表示される IBActions とアウトレット)
その場合は、1 つの XIB ファイルを使用して、他の特定のビュー コンポーネントをプログラムで追加します (1 つの場所でいくつかの変更を加えることができますが、両方に影響を与えることができるように、XIB ファイルを 1 つだけ持つことは素晴らしいことです)。