- (void)tableView:(UITableView *)tv commitEditingStyle:(UITableViewCellEditingStyle)editingStyle
forRowAtIndexPath:(NSIndexPath *)indexPath {
if(editingStyle == UITableViewCellEditingStyleDelete) {
//Get the object to delete from the array.
NSLog(@"%@",[[_arrayForTable valueForKey:@"IDS"] objectAtIndex:[indexPath row]]);
NSInteger myInteger = [[[_arrayForTable valueForKey:@"IDS"] objectAtIndex:[indexPath row]] integerValue];
NSNumber *selRow = [NSNumber numberWithInt:myInteger];
NSLog(@"%@",selRow);
[self removeCell:selRow]; // this is working perfectly it gets remove from database
//Delete the object from the table.
// app get crash here crash report is pested below
[self.table deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
}
}
- (void) removeCell:(NSNumber *)selRow{
NSLog(@"_arrayForTable%@",_arrayForTable);
NSInteger myInteger = [selRow integerValue];
[_arrayForTable removeObjectAtIndex:myInteger];
NSLog(@"_arrayForTable%@",_arrayForTable);
if(deleteStmt == nil) {
const char *sql = "delete from PersonNamesAndBirthDates where ID = ?";
NSLog(@"%s",sql);
if(sqlite3_prepare_v2(database1, sql, -1, &deleteStmt, NULL) != SQLITE_OK)
NSAssert1(0, @"Error while creating delete statement. '%s'", sqlite3_errmsg(database1));
}
NSLog(@"%d",myInteger);
//When binding parameters, index starts from 1 and not zero.
sqlite3_bind_int(deleteStmt, 1, myInteger);
if (SQLITE_DONE != sqlite3_step(deleteStmt))
NSAssert1(0, @"Error while deleting. '%s'", sqlite3_errmsg(database1));
sqlite3_reset(deleteStmt);
}
*在声明失败 - [UITableView的_endCellAnimationsWithContext:],2013年4月8日/SourceCache/UIKit_Sim/UIKit-1912.3/UITableView.m:1046 17:01 :13.069 birthdate reminder 2 [583:15803] *终止应用到期 未捕获的异常'NSInternalInconsistencyException',原因: '无效的更新:无效的行数在第0部分中.行中包含的现有节更新(12)必须是 等于该部分中包含的行数 更新(12),加或减从 插入或删除的行数(0插入,1删除)以及加或减行数 移入或移出该部分的行数(0移入,0移入出)。”碰撞从表视图除去细胞
请建议一些
我numberofrow方法如下
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return the number of rows in the section.
return _arrayForTable.count;
}
应用程序不崩溃每次某个作品的某个时候崩溃
粘贴numnerOfRows方法 – 2013-04-08 11:34:34
确定马诺哈尔加入 – 2013-04-08 11:38:29
我的猜测是,你对'removeCell假设:?',这是工作这个行可能会从你的数据库中删除,但是你有没有检查你的变量'_arrayForTable'?看起来,它仍然存在。 – fguchelaar 2013-04-08 11:52:31