Como alterar um nome de classe UIViewController em um UIStoryboard em tempo de execução
Eu tenho este UIViewController configurado no meu storyboard, com todas as saídas, exibições e restrições que eu preciso. Perfeito. Vamos chamar isso de WatchStateController, ele servirá como uma classe pai abstrata.
Eu então tenho essa subclasse de WatchStateController, chamada WatchStateTimeController, que terá a funcionalidade que eu preciso para um determinado estado do aplicativo.
Porque eu estou tentando usar o controlador de 1 vista no UIStoryboard, estou tendo alguns problemas em instanciar um WatchStateTimeController como tipo WatchStateTimeController - instancia como WatchStateController.
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
WatchStateTimeController *timeController = (WatchStateTimeController *)[mainStoryboard instantiateViewControllerWithIdentifier:@"WatchStateController"];
Isso ocorre porque o campo "Classe" no Inspetor de identidades do storyboard está definido como "WatchStateController". Então a questão é, como eu simplesmente mudo esse nome de classe no Inspetor de Identidade em tempo de execução?
NOTA: ignoreporque Estou tentando fazer isso e me concentrarcomo. Se você realmente precisa saber por que, pode ler o padrão de design da Estratégia.