我在sqite3数据库中插入一些值并检索它并在tableView中显示 我把代码放在下面
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
UIButton *btn=[UIButton buttonWithType:UIButtonTypeCustom];
btn.tag = indexPath.row;
[btn setBackgroundColor:[UIColor clearColor]];
[btn setBackgroundImage:[UIImage imageNamed:@"del.png"] forState:UIControlStateNormal];
[btn setFrame:CGRectMake(290, 15, 25, 25)];
[btn addTarget:self action:@selector(editTable:)
forControlEvents:UIControlEventTouchUpInside];
[cell.contentView addSubview:btn];
}
- (void) editTable:(UIButton *) btn {
NSInteger *indexPath = btn.tag;
NSLog(@"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^%d", indexPath);
[self delete:indexPath]; }
但是当id为INTEGER PRIMARY KEY AUTOINCREMENT时,它每次都会改变值,而不是从零开始, 那么如何在特定索引处找到特定的id?
答案 0 :(得分:0)
如果修改加载到UITableView中的自动增量表,我假设您对元组进行排序并将它们放在数据源数组对象上,该对象具有数据源委托的正确顺序的表内容。
因此,一旦修改了表,就无法将内存中数据源数组的索引与sqlite3表中的id相关联。这是你描述的问题吗?
一个简单的解决方法是从元组中获取id并以某种方式使该id可用于delete方法,因此它可以基于该id进行删除。