Я просматриваю между экранами моего приложения iOS.Почему мой ViewController удален из NavigationController.ViewControllers collection
BaseView.NavigationController.ViewControllers
Как переключить экраны, я хранить ссылку на предыдущий экран в статической переменной.
В какой-то момент один из моих элементов удаляется из BaseView.NavigationController.ViewControllers, хотя он все еще действительный viewcontroller, а IsLoaded по-прежнему установлен в значение True/YES.
Когда я использую (простите мой C#/MonoTouch)
BaseView.NavigationController.PopToViewController(CurrentViewController,false);
, чтобы показать его снова, я получаю NSInternalInconsistencyException Причина: Пробовал совать к контроллеру представления, который не существует. Это понятно, потому что его больше нет в коллекции ViewController.
То, как я переключаю экраны, я держу ссылку на различные экраны и вызывая общий метод отображения экрана. В этом методе я использую эту логику, чтобы определить, следует ли мне нажать или поп.
if (CurrentViewController.IsViewLoaded)
{
BaseView.NavigationController.PopToViewController(CurrentViewController,false);
}
else
{
BaseView.NavigationController.PushViewController(CurrentViewController,true);
}
Мой вопрос, где он делся и почему бы это были удалены из коллекции ViewControllers и когда это StillLoaded = правда/ДА?
Как вы переключаете экраны? – Luke
См. Мои последние изменения. Описано .. – user1060500
Если вам нужна дополнительная информация, то дайте мне знать ... – user1060500