Я использую SWRevealViewController в своем приложении (для получения боковой панели слайда), однако всякий раз, когда пользователь переходит к другому viewController, как «настройки» и возвращается, все сбрасывается. Я понимаю, что это нормальное поведение для раскадровки, поскольку создается новый VC, и каждый раз вызывается viewDidLoad. Я попытался обойти это, сохранив VC в массиве в AppDelegate, а затем вернувшись к исходному элементу viewController, это предотвратило обращение к viewDidLoad, когда исходный VC изначально был повторно представлен, но я все же нашел, что get get вызван случайным образом при перемещении между veiwcontroller's, сбросив все мои свойства и т. д. При исследовании Apple документация говорит, что не предполагать, что viewDidLoad будет вызываться только один раз.Вызывает ли viewDidLoad более одного раза в UITabBarController?
Является ли это поведение очевидным в UITabBarController при переключении вкладок, поскольку я думаю о том, чтобы переключать SWRevealViewController и использовать это вместо этого, если это будет меньше головной боли.
Должен ли я обращаться с этим по-другому, т.е. сохранение «состояния» в NSUserDefaults и восстановление на viewDidLoad?
Заранее спасибо.
поведение NavigationController и TabBar различно. В контроллере навигации, если у вас есть 1 (root), 2,3 viewControllers и находятся в viewController1, тогда у вас будет только 1. если вы перейдете на 2, то у вас будет 1,2, если вы вернетесь к 1, у вас есть 1 (2 ушел, т.е. установлен на ноль), если вы вернетесь к 2, то 2 создается с нуля. Если вы идете 1,2,3, то у вас есть все 3. Если это было в tabBar, во все моменты у вас есть 1,2,3, независимо от того, нахожусь на экране или нет – Honey