Я реализовал UISplitViewControllerDelegate и пытаюсь выяснить, почему мой код падает при повороте.
Сейчас у меня есть мой AppDelegate в качестве объекта, который реализует методы делегата, а затем у меня есть протокол(SubstitutableDetailViewController
) настройка для моих представлений сведений для обработки добавления / удаления элемента UIBarButton.
- (void)splitViewController:(UISplitViewController*)svc
willHideViewController:(UIViewController *)aViewController
withBarButtonItem:(UIBarButtonItem*)barButtonItem
forPopoverController:(UIPopoverController*)pc {
// Keep references to the popover controller and the popover button, and tell the detail view controller to show the button.
NSLog(@"barButtonItem class %@",[barButtonItem class]);
[barButtonItem setTitle:[NSString stringWithString:@"Menu"]];
self.popoverController = pc;
self.rootPopoverButtonItem = barButtonItem;
UIViewController <SubstitutableDetailViewController> *detailViewController = [splitViewController.viewControllers objectAtIndex:1];
[detailViewController showRootPopoverButtonItem:rootPopoverButtonItem];
}
Проблема заключается в том, что в журнале выводится класс barButtonItem __NSCFArray.
Почему UIBarButtonItem будет проходить как массив?Это приводит к ошибке, потому что я пытаюсь установить заголовок «массива».
-[__NSCFArray view]: unrecognized selector sent to instance 0x150510
Есть идеи, почему это не тот объект?
Иесли я закомментирую их, при попытке добавить этот barButtonItem на панель инструментов выдается ошибка.Опять же, это не тип записи объекта.