我正在使用此方法来定义navigationItem rightBarButtonItems:

UIImageView * imageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"YouTube-icon"]];
UIBarButtonItem *barIcon = [[UIBarButtonItem alloc]initWithCustomView:imageView];

if ([videoArr count] > 0) {
    self.navigationItem.rightBarButtonItems = [NSArray arrayWithObjects:barIcon,self.aToZButton, nil];
} else {
    self.navigationItem.rightBarButtonItem = barIcon;
}

[imageView release];
[barIcon release];


当调试打开时:

self.navigationItem.rightBarButtonItems = [NSArray arrayWithObjects:barIcon,self.aToZButton, nil];


应用崩溃:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFType isSystemItem]: unrecognized selector sent to instance 0x1e5eecd0'


编辑

我注意到只有当我使用rightBarButtonItem然后使用rightBarButtonItem时,才会发生崩溃。
如果我只使用rightBarButtonItems,它不会崩溃

最佳答案

似乎是在下线某个地方,您过早释放对象(内存管理问题)。NSCFType是iOS SDK中的一个内部未记录类,其背后的事实显示在此处意味着该类的内存空间在释放之前该过程完成。

关于iphone - 尝试定义rightBarButtonItems时应用崩溃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18460088/

10-10 06:20