Вы не должны звонить -viewDidLoad
в своем собственном коде.Он вызывается на контроллерах представления (VC), когда их представление только что завершило загрузку.
Чтобы вернуть VC в исходное состояние, во многом зависит от специфики ситуации, но вы, вероятно, можете либо установить его свойства и т.д. обратно к их исходным значениям, либо вы можете выделить и инициализировать новый VC, удалитьстарый вид VC из иерархии видов и добавить новый вид VC.
В качестве альтернативы, вы можете просто внедрить метод -resetToOriginalState
в вашем VC.