У меня есть программа, которая создает UIViewControllers в UISplitView в зависимости от того, какая строка выбрана в UITableView. Например, если пользователь щелкает строку, называемую «настройки», программа создает контроллер представления с именем settingsTableVC (который отображается на левой панели UISplitViewController) и контроллер подробного просмотра с именем settingsDetailVC, который отображается на правой панели .
Логика работает нормально, но у меня есть много кода для каждой строки в начальном tableView, для создания и настройки каждого ViewController, и их открытых свойств, и мне кажется, что проще было бы определить два универсальных ViewController , затем приведите их к правильному типу в методе. Таким образом, я могу определить их общедоступные свойства в общем (поскольку все они в основном являются одинаковыми свойствами, указателями на 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».
Как я могу изменить класс этих ViewControllers во время выполнения?