Когда я запускаю свое приложение на iOS 7 работает как ожидается. Когда я запускаю свое приложение на iOS 8 вещей НЕ работает как ожидалось. Это все без внесения одного изменения в кодовую базу.iOS 8 pushViewController не работает, в iOS 7 все работает так, как ожидалось, нулевые изменения кода?
В частности, я пытаюсь «нажать» новый контроллер просмотра в стеке и в iOS 8 ничего не происходит. < - Это ошибка, ничего не происходит. Никакой аварии, просто ничего.
Сначала я думал, что это может быть раскадровку связаны и поэтому переключился от запуска моего толчка SEGUE через performSegueWithIdentifier
только вручную загрузить его из видеоредактора с помощью instantiateViewControllerWithIdentifier
, а затем представить его через [self.navigationController pushViewController:myVC animated:YES];
.
Любой из вышеперечисленных методов работает на iOS 7. Однако при запуске моего приложения на устройстве iOS 8 BOTH не работает. Кроме того, я заметил странное поведение в отладчике/NSLog. В прошивкой 7, когда я бегу NSLog(@"self.navigationController = %@", self.navigationController)
я (как и ожидалось):
self.navigationController = <UINavigationController: 0x145986b0>
В прошивкой 8, я также получаю (как и ожидалось):
self.navigationController = <UINavigationController: 0x15d646db0>
Между тем, в той же точке в коде, когда я вставляю разрыв, а затем проверяю вещи через консоль следующим образом: (lldb) po self.navigationController
В iOS 7 я получаю (как ожидалось):
(lldb) po self.navigationController <UINavigationController: 0x175810b0>
ОДНАКО, в прошивкой 8, я получаю:
(lldb) po self.navigationController error: property 'navigationController' not found on object of type 'PHMenuTableViewController *' error: 1 errors parsing expression
В обоих приведенных выше примерах po
я строю с моей "Debug" строить конфигурации.
В конечном счете, я просто пытаюсь нажать контроллер вида. Мой оригинальный код использовал segue. При попытке отладить это я отошел от segue, чтобы использовать instantiateViewControllerWithIdentifier
и [self.navigationController pushViewController:myVC animated:YES];
. Оба подхода работают на iOS 7, как ожидалось. Однако, независимо от того, что я делаю, я не могу получить толчок для работы на iOS 8, ничего не происходит вообще, как если бы навигационный контроллер nil
или что-то, когда это не так!
Любые идеи?
Вы пытались NSLog «viewDidLoad» VC, который должен появиться? он уволен? – r4id4
@ObiWanKeNerd Просто добавил перерыв в 'viewDidLoad'. При запуске на iOS 8 'viewDidLoad' вызывается * not *. –
Вы пытались использовать свой первый метод 'performseguewithidentifier', но используя' modal segue' вместо 'push segue'? просто проверьте, не является ли это проблемой, связанной с «навигационным контроллером» или с «viewController», который должен быть представлен. И у вас есть метод «подготовиться к segue»? Вы пытались вставить перерывы там? – r4id4