Как я могу найти конкретный идентификатор в базе данных sqlite3, если это автоинкремент? - PullRequest
0 голосов
/ 01 апреля 2011

Я вставляю какое-то значение в базу данных 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, поэтому он каждый раз меняет значения и не начинается с нуля, так как я могу найти конкретный идентификатор по определенному индексу?

1 Ответ

0 голосов
/ 01 апреля 2011

Если вы изменяете таблицу автоматического приращения, загружаемую в UITableView, я предполагаю, что вы сортируете кортежи и помещаете их в объект массива источника данных, содержимое таблицы которого находится в правильном порядке для делегата источника данных.

Таким образом, вы не можете соотнести индекс из массива источника данных в памяти с идентификатором в таблице sqlite3 после того, как вы изменили таблицу.Это проблема, которую вы описываете?

Простой обходной путь - получить идентификатор из кортежа и сделать этот идентификатор доступным для метода удаления, чтобы он мог выполнять удаление на основе этого идентификатора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...