我有一個程序在UISplitView中創建UIViewControllers,具體取決於在UITableView中選擇哪一行。例如,如果用戶點擊名爲'settings'的行,程序將創建一個名爲settingsTableVC(它顯示在UISplitViewController的左側窗格中)的視圖控制器和一個名爲settingsDetailVC的詳細視圖控制器,該控制器顯示在右側窗格中。如何在創建後更改ViewController的類型?
這個邏輯工作正常,但是我在初始tableView中有很多代碼用於創建和設置每個ViewController及其公共屬性,而且在我看來,更簡單的方法是定義兩個通用ViewControllers,然後將它們轉換爲方法中正確的類型。這樣,我可以一般地定義它們的公共屬性(因爲它們基本上都是相同的屬性,指向masterViewController和tableViewController的指針)。
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 2012-02-19 08:28:14
很高興我能幫忙:) – jrtc27 2012-02-19 10:22:33