UISplitViewControllerDelegate - willHideViewController: ... не отправляется UIBarButtonItem? - PullRequest
1 голос
/ 14 февраля 2011

Я реализовал 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 на панель инструментов выдается ошибка.Опять же, это не тип записи объекта.

...