Это действительно не имеет ничего общего со структурами; это просто обычная проблема передачи данных в контроллер представления при создании и передачи данных обратно из , который просматривает контроллер при уничтожении. Бывает, что в вашем случае вы утверждаете, что это «те же» данные - то есть вы передаете сообщение в контроллер подробного представления и передаете сообщение обратно из контроллера подробного представления - но это просто случайный факт.
Итак, чтобы ответить на поставленный вопрос, вы должны использовать любой из обычных приемов. Контроллер подробного представления должен будет передать измененную публикацию обратно в главный контроллер представления. Он мог бы использовать Уведомление или (точнее) использовать стандартную архитектуру протокола и делегата.
С другой стороны, если Post является основой данных вашего приложения, это не будет неоправданно утверждать, что сама предпосылка ошибочна: это должен был быть класс, а не структура, именно для того, чтобы данные могли храниться в центральном месте, а ссылки на них могли храниться в разных местах.
Действительно, если все сложнее, данные приложения (включая Post) могут находиться в каком-то третьем месте в пространстве модели-данных, и все контроллеры представления отправляют уведомление up на данные, когда они изменяют его и имеют данные, отправляют уведомление вниз всем контроллерам представления в ответ (это то, что ответ Ральфа Эберта вполне разумно предполагает). Подобные вещи намного проще в наше время, потому что (в iOS 13) у нас есть наблюдаемые объекты и структура Combine.