Некоторые гуру памяти, без сомнения, смогут сказать вам, почему @synthesize и изменяемые массивы и словари (и наборы, предположительно) не очень хорошо играют вместе.Все, что я знаю, это инициализировать ваш изменяемый массив явно, и все будет хорошо:
- (void)viewDidLoad
{
[super viewDidLoad];
self.dataSource = [NSMutableArray arrayWithCapacity:1];
//adds right bar button.
UIBarButtonItem *addButton = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(add:)];
self.navigationItem.rightBarButtonItem=addButton;
[addButton release];
}
И, конечно, освободить его в dealloc.