0

SQLクイズデータで満たされた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 ステートメントを作成することです。出来ますか?前もって感謝します。

4

1 に答える 1

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
于 2013-10-09T07:14:43.703 に答える