Я использую UISplitViewController
по адресу ARC
.UISplitViewController setting viewControllers во второй раз сбой
Я настраиваю контроллер в своем AppDelegate
, а затем сделаю его rootViewController
. Я сделал так, чтобы сделать его property
:
@property (strong, nonatomic) UISplitViewController *splitViewController;
Установки корня и детали с помощью viewControllers
свойства отлично работает при первом создании. И он работает отлично, когда настраивается второй раз, но я получаю сбой в третий раз, когда я пытаюсь установить свойство viewControllers
.
Вот как я поставил эти:
Screens *edit = [[Screens alloc] initWithStyle:UITableViewStyleGrouped];
UINavigationController *c = [[UINavigationController alloc] initWithRootViewController:edit];
if ([Utility isIpad]) {
Map *a = (Map *)[[MyAppDelegate instance].splitViewController.viewControllers objectAtIndex:0];
NSArray *viewControllers = [NSArray arrayWithObjects:a, c, nil];
UISplitViewController *splitView = [MyAppDelegate instance].splitViewController;
splitView.viewControllers = viewControllers;// <--- Crashes here
} else {
[self presentModalViewController:c animated:YES];
}//end
Почему это сбой при попытке установить viewControllers
свойство? Мне кажется, что он выпущен, но я знаю, что splitViewController
все еще там ...
Это может быть связано с ARC?
StackTrace:
Какова обратная трассировка при ее сбое? Кроме того, сомневайтесь, что это связано с ARC. – mattjgalloway
Хорошо, тупой вопрос. Как я вижу обратную линию? Я только то, что находится в Debug Navigator. –
Yeh в навигаторе отладки должна быть обратная трассировка. Внизу есть ползунок, который, если вы проскользните полностью вправо, вы получите полную обратную трассу. – mattjgalloway