所以这是我的应用程序的设置。在我的视图中做了load方法,我创建了一个NSMutableArray,并用对象列表初始化它(使用initWithObjects:
方法)。这个数组被加载到表视图中没有任何问题。我还在导航栏中添加了一个“+”按钮,用于向我的表中添加数据。我的问题是,每当我按下“+”我的应用程序冻结,我得到SIGABRT信号。有人能告诉我我做错了吗?
我使用属性保留了数组,并且我已经合成了它。我也是用dealloc方法发布的。
我正在创建这样的数组:
NSMutableArray *array = [[NSArray alloc] initWithObjects:@"data 1", @"data 2", @"data 3", nil];
self.myArray = array;
[array release];
我正在导航栏中创建“+”按钮:
UIBarButtonItem *addDataButton = [[UIBarButtonItem alloc] initWithTitle:@"+"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(addData)];
我添加数据的方法是:
- (void)addData {
[myArray addObject:@"some data"];
[self.tableView reloadData];
}
此外,如果这有帮助,我在控制台中收到的错误信息是:
2011-02-19 13:02:09.987 MyApp[480:307] -[__NSArrayI addObject:]: unrecognized selector sent to instance 0x1bee50
2011-02-19 13:02:10.020 MyApp[480:307] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayI addObject:]: unrecognized selector sent to instance 0x1bee50'
答案 0 :(得分:2)
您正在创建NSArray
而不是NSMutableArray
,因此您无法向其添加对象。将数组初始化更改为:
NSMutableArray *array = [[NSMutableArray alloc] initWithObjects:@"data 1", @"data 2", @"data 3", nil];