2013-07-04 2 views
0

Мне удалось создать мое uitableview, которое заполнено данными о sql-викторине. Теперь я пытаюсь создать метод select deelect. После галочки я хочу нажать кнопку «Пуск» и с проверенными параметрами, я думаю, что выйдет новый игровой экран со смешанными вопросами викторины из выбранных категорий. Можно ли работать?Выбор ячейки Uitableview с целочисленным идентификатором

Вот код

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

     UITableViewCell * cell = [tableView cellForRowAtIndexPath:indexPath]; 
     if ([self isRowSelectedOnTableView:tableView atIndexPath:indexPath]) { 
     [self.selectedCells removeObject:indexPath]; 
     cell.accessoryType =UITableViewCellAccessoryNone; 
     }else{ 
      [self.selectedCells addObject:indexPath]; 
      cell.accessoryType =UITableViewCellAccessoryCheckmark; 
      } 

      NSNumber * selectedRow = [NSNumber numberWithInteger:indexPath.row]; 
       NSLog(@"%@", selectedRow); 
       startButton.tag = selectedRow?10:0; 
    } 

И вот моя попытка для кнопки действия

- (IBAction)startAction:(id)sender 
{ 
if([sender tag] == 10){ 
    PlayViewController * controller = [[PlayViewController alloc] initWithNibName:@"PlayViewController" bundle:nil]; 
    [self presentViewController:controller animated:YES completion:nil]; 
} 

Тег только попробовать для кнопки. Я действительно пытаюсь прочитать выбранный номер строки и с этим создать инструкцию sql для контроллера воспроизведения. Является ли это возможным? Спасибо заранее.

ответ

0

Я не совсем понимаю, что вы пытаетесь сделать.

Однако в didSelectRowAtIndexPath вам не нужно снова определять ячейку. У вас есть значение indexPath.row, которое указывает, какая строка таблицы выбрана. Вы можете сохранить это значение для последующего использования. Вы также можете сохранить выбранную запись.

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

    selectedRow = indexPath.row; // store the table row number 
     // or 
    selectedRecord=[fullTableArray objectAtIndex:indexPath.row]; // store the value 
Смежные вопросы