Я предполагаю, что это не работает, потому что вы передаете переменную третьему контроллеру представления, но нажимаете второй контроллер представления.Хотя третий контроллер представления создан, он автоматически освобождается до того, как второй контроллер представления может выдвинуть третий контроллер представления.
Ваш подход правильный, но вы должны передать переменную второму контроллеру представления, икогда второй контроллер представления создает третий контроллер представления, он может передать его этому.
Отредактировано после комментария
Делегирование (где вы используете протокол) являетсяспособ получения информации обратно в контроллер.т.е. если вы хотите вернуть информацию обратно в первый контроллер представления из третьего контроллера представления.Я написал простой пример здесь .Но чтобы установить первый контроллер представления в качестве делегата третьего контроллера представления, вам все равно нужно передать ссылку на первый контроллер представления вверх по стеку так же, как я описал выше.
Есливы хотите узнать, как настроить одноэлементный источник данных, создать проект iOS с Core Data и посмотреть, как шаблон устанавливает контекст управляемого объекта.