我有一個NSMutableArray一個UITableViewController在這樣的標題:的NSMutableArray removeObjectAtIndex:indexPath.row崩潰
NSMutableArray *someArray;
我也有屬性聲明:
@property (nonatomic, retain) NSMutableArray *someArray;
在.m文件我在該方法中加載陣列:
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
someArray = [[NSMutableArray alloc] init];
[self loadArrayData];
[tableview reloadData];
}
該表填充很好,添加沒有問題,但w母雞我嘗試刪除一行,以下線的應用程序崩潰:
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
[someArray removeObjectAtIndex:indexPath.row];
//update table etc..
如果我使用調試器,我可以看到陣列具有一定的對象,當我登錄indexPath.row我得到的值在數組大小內。
我不明白它爲什麼會崩潰在這條線上......誰能幫助我?
控制檯輸出:
*終止應用程序由於未捕獲的異常 'NSInvalidArgumentException',原因: ' - [__ NSArrayI removeObjectAtIndex:]:無法識別的選擇發送到實例0x6193890'
有關崩潰的更多信息可能會有所幫助。發生了什麼樣的碰撞? – 2011-03-08 20:09:44
對不起,我添加了控制檯錯誤輸出.. – CyberK 2011-03-08 20:12:49
嗯,我真的不知道。很明顯,一個無效的參數被傳遞給removeObjectAtIndex :.但是indexPath.row應該返回一個NSUInteger,它是一個有效的參數。 – 2011-03-08 20:44:24