我有一个UITableViewController,在头部有一个NSMutableArray,就像这样:
NSMutableArray *someArray;
同时我已经声明了该属性:
@property (nonatomic, retain) NSMutableArray *someArray;
在.m文件中,我在方法中加载数组:
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
someArray = [[NSMutableArray alloc] init];
[self loadArrayData];
[tableview reloadData];
}
表格显示正常,添加行也没有问题,但是当我尝试删除一行时,应用程序会在以下代码行崩溃:
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
[someArray removeObjectAtIndex:indexPath.row];
//update table etc..
如果我使用调试器,我可以看到该数组有一些对象,并且当我记录indexPath.row时,我得到的值在数组大小之内。我不明白为什么它会在这一行崩溃...谁能帮助我?控制台输出: * Terminating app due to uncaught exception 'NSInvalidArgumentException' ,原因是:'-[__NSArrayI removeObjectAtIndex:]:向实例0x6193890发送未识别的选择器。'