UITableView несколько вариантов выбора - PullRequest
0 голосов
/ 20 января 2011

Я работаю с несколькими вариантами UITableView и sqlite3. С помощью этого кода ниже я могу отображать несколько вариантов выбора, однако механизм сохранения в БД имеет проблемы.

updatedID является NSInteger.

При отладке, сообщение как показано ниже, прямо на ---> self.updatedID = ct.contactID;

Программа получила сигнал: «EXC_BAD_ACCESS».

Что не так с моим кодом здесь?

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

 UITableViewCell *theCell = [tableView cellForRowAtIndexPath:indexPath];
 MyContacts *ct = (MyContacts *) [self.memberNoGroupArray objectAtIndex:indexPath.row];

 self.updatedID = ct.contactID;

 if (theCell.accessoryType == UITableViewCellAccessoryCheckmark) 
 {

  DBAccess *updateDB = [[DBAccess alloc] init];
  [updateDB updateGroupName:updatedID withGroupName:[NSString stringWithFormat:@"(no group)"]];
  [updateDB release];

  theCell.accessoryType = UITableViewCellAccessoryNone;


 }

 //if the cell doesn't have checkmark, give it a checkmark. 
 else if (theCell.accessoryType == UITableViewCellAccessoryNone)
 {

  DBAccess *updateDB = [[DBAccess alloc] init];
  [updateDB updateGroupName:updatedID withGroupName:self.currentGroupString];
  [updateDB release];

  theCell.accessoryType = UITableViewCellAccessoryCheckmark;
 }

 [tableView deselectRowAtIndexPath:indexPath animated:YES];

}

Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 20 января 2011

я получил это сообщение в отладчике:

GDB: Программный полученный сигнал: "SIGABRT".

и иногда это:

GDB: Программа получила сигнал: "EXC_BAD_ACCESS".

сообщение кажется разным между этими двумя каждый раз, когда я отлаживаю. Я впервые использую NSZombiesEnabled. Вы видите что-то не так в этом?

0 голосов
/ 20 января 2011

Используйте NSZombiesEnabled, чтобы найти причину проблемы и увидеть их в отладчике.

Перейдите в XCode -> Проекты -> Редактировать активный исполняемый файл «YourProjectName» -> вкладка «Аргументы» -> перейдите в «Переменные»установить в среде '-> добавить переменную "NSZombiesEnabled" и установить ее значение в "YES", а также не забудьте проверить галочку.

Затем отладить код и посмотреть в отладчике во время сбоя, чтоявляется причиной этой ошибки.

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