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;
}
}
toolbar は、同じ .m ファイルで以前に定義されたプライベート プロパティであるため、
@property (nonatomic, weak) UIToolbar *toolbar;
ライン交換もやってみた
NSMutableArray *toolbarItems = [self.toolbar.items mutableCopy];
と
NSMutableArray *toolbarItems = [[NSMutableArray alloc]init];
toolbarItems = [self.toolbar.items mutableCopy];
それでも、toolbarItems には何も追加されません。デバッガーは一貫して splitViewBarButtonItem が非 null であることを示し、私の NSLog はゼロを出力し続けます。
どうもありがとう。