3

私は初めての iPad アプリケーションに取り組んでいて、初めてストーリーボードを使用しています。

カスタムセルに「動的プロトタイプ」を使用するストーリーボードに UITableViewController があります。

私がやりたいことは、UITableViewController サブクラスをプログラムでインスタンス化することですが、ストーリーボードからスーパー ビュー コントローラーをロードすることです。

これは、UI は 1 つですが、インスタンスごとに必要な特定の機能に対して複数のサブクラスがあるためです。

これは .xib ファイルで行うのが非常に簡単で、次のコードを記述します。

MyViewControllerSubClassA *viewControllerA = [[MyViewControllerSubClassA alloc] initWithNibName:@"generalViewControllerNib" bundle:nil];

MyViewControllerSubClassB *viewControllerB = [[MyViewControllerSubClassB alloc] initWithNibName:@"generalViewControllerNib" bundle:nil];

ビュー コントローラーをクリックすると、ストーリーボード エディターでサブクラスを割り当てることができることはわかっていますが、インスタンス化するときにサブクラスをプログラムで設定したいと考えています。

ストーリーボードは自動的にインスタンス化されるため、これは不可能のようです。

これにより、ストーリーボードの概念全体に欠陥があり、オブジェクト指向ではないように見えます。

ビュー コントローラーをストーリーボードから .xib ファイルに移動すると、動的および静的プロトタイプ セルを使用できなくなります。これは、ストーリーボードを使用する場合にのみサポートされるためです。また、Apple のドキュメントでは、基本的に、今後は Storybaords を使用すると述べています。

4

1 に答える 1

-1

私はこのようなことを試みます:

MyViewControllerSubclassA *controllerA = (MyViewControllerSubclassA *)[self.storyboard instantiateViewControllerWithIdentifier:@"myGenericVC"];
于 2012-10-10T10:06:55.190 に答える