ViewControllerA (VCA) будет поддерживать ссылку на ViewControllerB (VCB). VCB будет поддерживать ссылку на выбранный объект как ивар. Когда пользователь выбирает объект в VCA, VCA создает экземпляр VCB (если еще не создан), устанавливает для этого объекта свойство selectedObject
VCB, а затем отправляет VCB. VCB выполняет чтение из объекта, назначенного его свойству selectedObject, для извлечения его информации в представление.
В VCA для каждого из «элементов», которые может выбрать пользователь, должен быть экземпляр базового объекта, поддерживающий этот элемент. Например, UITableView может быть поддержан NSArray of Vegetable объектов, если пользователь выбирает из списка овощей.
В общем, старайтесь свести к минимуму обмен данными между контроллерами. Вместо этого попросите их обратиться к объектам модели, чтобы получить их данные.