UITableViewでどの行が選択されているかに応じて、UISplitViewにUIViewControllerを作成するプログラムがあります。たとえば、ユーザーが 'settings'という行をクリックすると、プログラムはsettingsTableVC(UISplitViewControllerの左側ペインに表示される)というビューコントローラと、右側のペインに表示されるdetailsDetailVCという詳細ビューコントローラを作成します。作成後にViewControllerのタイプを変更するにはどうすればよいですか?
論理はうまくいきますが、最初のtableViewの各行に対して、それぞれのViewControllerとそのパブリックプロパティを作成して設定するためのコードがたくさんあり、より単純な方法で2つの一般的なViewControllerを開き、メソッドの正しい型にキャストします。そうすれば、パブリックプロパティを総称的に定義することができます(masterViewControllerとtableViewControllerへのポインタはすべて基本的に同じプロパティであるため)
E.G.
UIViewController *leftController = nil;
UIViewController *rightController = nil;'
その後、didSelectRowAtIndexPathに:
leftController = [[SettingTableViewController alloc]init];
rightController = [[SettingsDetailViewController alloc]init];
leftController.masterVC = self;
rightController.tableVC = leftController;
しかし、コンパイラは警告している - 'のUIViewControllerプロパティmasterVCを宣言していません'。
実行時にこれらのViewControllerのクラスを変更するにはどうすればよいですか?
完璧な、私は見て見ることができませんでした、多くのありがとう。 – Skybird
うれしい私は助けることができる:) – jrtc27