我已经实现了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 class __NSCFArray'。
为什么UIBarButtonItem会以数组形式出现?然后抛出一个错误,因为我正在尝试设置“数组”的标题。
-[__NSCFArray view]: unrecognized selector sent to instance 0x150510
关于为什么它不是正确的对象的任何想法?
如果我将它们注释掉,当我尝试将此barButtonItem添加到工具栏时会抛出错误。同样,它不是写入类型的对象。