Не уверен насчет "хорошей практики", но ...
Заполнить метку той или иной строкой легко, также легко скрыть кнопки или поля в зависимости от того, отображается ли представление ADD или EDIT.
Проблемы, как правило, возникают, когда ваше представление получило пользовательский ввод, а затем необходимо решить, следует ли изменить существующий объект или создать новый объект.
Так что перед выходом представление должно решить, как обрабатывать ввод пользователя. Если дифференциация является ошеломляющим комплексом, вам лучше использовать два viewControllers. Если речь идет о простом if-the-else в методе viewWillDisapper
или рядом с ним, тогда можно сделать одно представление.