有人可以帮我理解为什么 insertobject atindex:0 行无法向 nsmutablearray 添加任何内容吗?谢谢。
- (void)setSplitViewBarButtonItem:(UIBarButtonItem *)splitViewBarButtonItem
{
if (_splitViewBarButtonItem != splitViewBarButtonItem) {
NSMutableArray *toolbarItems = [self.toolbar.items mutableCopy];
if (_splitViewBarButtonItem) [toolbarItems removeObject:_splitViewBarButtonItem];
if (splitViewBarButtonItem) {
[toolbarItems insertObject:splitViewBarButtonItem atIndex:0];
NSLog(@"setSplitViewBarButtonItem: toolbarItems has %u objects",toolbarItems.count);
}
self.toolbar.items = toolbarItems;
_splitViewBarButtonItem = splitViewBarButtonItem;
}
}
工具栏是之前在同一个 .m 文件中定义的私有属性,因此
@property (nonatomic, weak) UIToolbar *toolbar;
我也尝试过更换线路
NSMutableArray *toolbarItems = [self.toolbar.items mutableCopy];
和
NSMutableArray *toolbarItems = [[NSMutableArray alloc]init];
toolbarItems = [self.toolbar.items mutableCopy];
但仍然没有向工具栏项添加任何内容。调试器始终显示 splitViewBarButtonItem 为非空,并且我的 NSLog 一直打印为零。
非常感谢。