В настоящее время мое приложение имеет один экран навигации, который позволяет пользователю выбирать другие виды. При нажатии на navController просто происходит нажатие соответствующего контроллера вида. Это отлично работает, если я никогда не вернусь к тому же взгляду, снова ожидая его перезагрузки.Как я могу перезагрузить контроллеры представлений из appDelegate каждый раз, когда я нажимаю один на стек?
В приведенном ниже коде я запрашиваю контроллер по запросу.
- (void)optionClicked:(NSString *)optionName
{
if ([@"First" isEqualToString:optionName]) {
[navController pushViewController:firstController animated:YES];
} else if ([@"Next" isEqualToString:optionName]) {
[navController pushViewController:nextController animated:YES];
}
}
Когда закончите с видом, я просто выталкиваю его из стека. Но в следующий раз, когда пользователь выбирает эту же опцию из меню, он не загружается «чистым», и в этом мой вопрос возникает. Как я могу загрузить контроллер вида каждый раз, когда он нажимается на стек?
После того, как я добавил свойство (неатомное, удержание), как вы упомянули, я должен поставить себя. перед первым контролером? или просто когда я начинаю его, как вы показали? –
всегда использует self infront, если вы обращаетесь к свойствам. Потому что, если вы используете что-то вроде '@synthesize firstController = _firstController', то базовый ivar для свойства будет _firstController not firstController; Это, в свою очередь, означает, что firstController без self будет недопустимой ссылкой. – mackross
Я также сохраняю значения в самом делете приложения, и каждый контроллер представления запросит appDel для этой информации перед тем, как сделать действие. Мне нужно снова подключить отношения в коде после работы release/init? –