由于未捕获的异常而终止应用 ' NSInvalidArgumentException',原因:' - [__ NSArrayI isSystemItem]: 无法识别的选择器发送到实例0x7fa5bbd726f0'
我跟随他solution here,显然我没有做任何瑕疵。我正在做的是 - 在导航栏的右侧添加两个按钮(条形按钮)。
UIBarButtonItem *notificationButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"Notification.png"]
style:UIBarButtonItemStylePlain target:self action:@selector(notificationAction)];
UIBarButtonItem *searchButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"search"]
style:UIBarButtonItemStylePlain target:self action:@selector(searchAction)];
NSArray *arrNavigationButtons = [NSArray arrayWithObjects:notificationButtonItem,searchButtonItem, nil];
// warning here - Incompatible pointer type.
self.navigationItem.rightBarButtonItem = arrNavigationButtons;
答案 0 :(得分:2)
将最后一行更改为rightBarButtonItems
。注意最后的s。
答案 1 :(得分:1)
self.navigationItem.rightBarButtonItem是一个ButtonItem,您正在向它传递NSArray,这是无效调用。要传递NavigationBarButtons,您需要调用正确的函数。如果你调用它,我想你会收到不兼容指针类型的警告。只需将您的代码更改为:
self.navigationItem.rightBarButtonItems = arrNavigationButtons;