I am trying to delete a row in a UITableView which is populated from a SQL database.
The sql statement I am using is from a class called databaseHanderClass. The method takes an integer which is the id to delete a row in the database – the primary key.
-(BOOL) deleteFromDatabase: (NSInteger)delete_id
{
FMDatabase *dbHandler = [FMDatabase databaseWithPath: [Utility getDatabasePath]];
BOOL success;
@try
{
[dbHandler open];
success = [dbHandler executeUpdate:@"DELETE FROM inputs WHERE id=%d", delete_id];
[dbHandler close];
}
@catch (NSException *exception)
{
NSLog(@"fejl...%@", exception);
}
@finally
{
return success;
}
}
The method I am using for deletion in the UITableView is the following.
- (void)tableView:(UITableView *)tableView commitEditingStyle (UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete)
{
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
}
else if (editingStyle == UITableViewCellEditingStyleInsert)
{
//statement
}
}
You need to implement the following methods: THIS SHOULD WORK
For your database code, try:
For “commitEditingStyle” method, try the following:
For “NumberOfRowsInSection”:
For “canEditRowAtIndexPath”:
For “editingStyleForRowAtIndexPath”:
For “commitEditingStyle”: