これは私のストーリーボードです:
UITableViewController には、画像、ラベル、およびスイッチを持つ一般的な UITableCell (MMSwitchTableCell) があります。
アイデアは、同じレイアウト、つまり同じセル オブジェクトと同じ動作で異なるデータを提示する異なる UITableViewControllers を作成できるようにすることです。たとえば、UITableView には果物を選択するのに役立つセルのリストがあり、2 番目の UITable は家具を選択するのに役立ちます。2 つの UITablesViewController の間には関係がありません (継承や集約はありません)。それらは異なる viewController の異なるインスタンスです。設計されたコントロールと UITableCell コードを再利用したいだけです。
したがって、私のコードには、プロパティを宣言する UIViewController があります。
@property (strong, nonatomic) MMGoSeePopoverTableViewController* goSeePopoverTableViewController;
そしてそれを遅延ロードします:
-(MMGoSeePopoverTableViewController*) goSeePopoverTableViewController
{
if(_goSeePopoverTableViewController == nil)
{
_goSeePopoverTableViewController =(MMGoSeePopoverTableViewController*)
[self.storyboard instantiateViewControllerWithIdentifier:@"switchPopover"];
}
return _goSeePopoverTableViewController;
}
そして、プロパティを宣言する 2 番目の UIViewController:
@property (strong, nonatomic) MMLayersPopoverTableViewController* layersPopoverTableViewController;
そしてそれを遅延ロードします:
-(MMLayersPopoverTableViewController*) layersPopoverTableViewController
{
if(_layersPopoverTableViewController == nil)
{
_layersPopoverTableViewController =(MMLayersPopoverTableViewController*)
[self.storyboard instantiateViewControllerWithIdentifier:@"switchPopover"];
}
return _layersPopoverTableViewController;
}
ストーリーボードでは、カスタム クラスを MMLayersPopoverTableViewController に設定しましたが、代わりに空白のままにして、何らかの形でコードに設定したいと考えています。遅延ローダー内でこれを行う必要があると思いますが、方法がわかりません。
編集
提案された「この質問には既に回答がある可能性があります:」は、私が求めているものと同じではありません。私の問題をよりよく説明するために投稿を修正しました。