У меня есть uinavigationcontroller. После входа в систему я хочу удалить контроллеры просмотра, такие как RegisterViewController, LoginViewController и т. Д. Из стека UInavigationcontroller.Как удалить определенный контроллер просмотра из стека yinavigationcontroller?
Я имею в виду, что мне нужно удалить определенный контроллер представления из стека? Как это возможно. ?
Я проверил этот пост
Таким образом, мы можем принять его в массив как
NSArray *allviewcontrollers= [(UINavigationController *)navigationController viewControllers];
Но как сделать дальнейший процесс .. Этот вопрос охотится меня в течение длительного времени. .Пожалуйста, ответьте мне. Спасибо заранее.
Спасибо, что ответили на меня. Но у меня есть сомнения во втором сообщении. LoginViewController * loginViewController = [LoginViewController alloc]; [allViewControllers removeObjectIdenticalTo: loginViewController]; Но это не сработало. Но когда я попробовал [allViewControllers removeObjectAtIndex: 0]; Это сработало. Я хочу что-то подобное, на что ты ответил. Я также попробовал [allViewControllers removeObjectIdenticalTo: @ "LoginViewController"]; Но это не сработало. Пожалуйста, уточните меня. Спасибо ... –
У меня были некоторые сомнения относительно того, как удалить конкретный вид. И я поставил вопрос на это и получил ответ. http://stackoverflow.com/questions/2100450/how-to- check-a-uiviewcontroller-is-present-in-uinavigationcontroller-stack/2101034 # 2101034 –
Где-то в вашем коде вы создали, скажем, LoginViewController с + alloc и -initWithNibName: bundle :. Это может быть ваш делегат приложения, я не знаю, как ваше приложение архивировано. В любом случае, чтобы надежно удалить контроллер, вы должны сохранить ссылку на него (например, как ivar в делете приложения). «RemoveViewController» в приведенном выше фрагменте - это просто эта ссылка. Да, вы можете пройти через массив контроллеров, которые ищут контроллер определенного класса. Но что, если в один прекрасный день у вас будет два или три из них при продлении вашего приложения? Мои 2 цента. – Costique