我有一个属性NSArray
,toolbarButtons
在一个实例中(当它UIViewController
是模态的)它需要是一个属性,当它是非模态NSMutableArray
时UIViewController
,它只需要是一个NSArray
。
我已经像这样初始化了属性:
@property (nonatomic, copy) NSArray *toolbarButtons;
我正在初始化工具栏按钮,如下所示:
- (void) setToolbarButtons
{
UIBarButtonItem *exitButton = [[UIBarButtonItem alloc] initWithTitle:@"Exit" style:UIBarButtonItemStyleBordered target:self action:@selector(exitButtonPushed)];
toolbarButtonsTemp = (NSMutableArray *)[[NSMutableArray alloc] init];
[(NSMutableArray*)toolbarButtonsTemp addObject:exitButton];
self.toolbarButtons = toolbarButtonsTemp;
[exitButton release];
}
然后稍后我在这样的子类中覆盖上述方法:
- (void) setToolbarButtons
{
[super setToolbarButtons];
UIBarButtonItem *leftFlexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem *toolButton = [[UIBarButtonItem alloc] initWithTitle:@"Tools" style:UIBarButtonItemStyleBordered target:self action:@selector(toolButtonPushed)];
[(NSMutableArray*)self.toolbarButtons addObject:leftFlexibleSpace];
[(NSMutableArray*)self.toolbarButtons addObject:toolButton];
[toolButton release];
[leftFlexibleSpace release];
}
我收到以下错误:
[__NSArrayI addObject:]: unrecognized selector sent to instance
我知道有很多解决方法,但从设计的角度来看,我只是想知道我正在做的事情是否可行以及如何纠正我的错误。