Почему первая ячейка пользовательской ячейки UITableView всегда вызывается дважды в событиях действия в XCODE - PullRequest
1 голос
/ 23 апреля 2020

У меня есть вопрос о пользовательской ячейке UITableView на xcode.

У меня есть два класса, CustomCell и ViewController.

Мой код прост.

Создание ViewController две строки CustomCell из функции cellForRowAtIndexPath и присваивает тег (0,1) кнопке переключателя в CustomCell каждой строке. (тег кнопки переключения первой ячейки: 0, второй: 1)

Но всякий раз, когда я нажимаю кнопку переключения, вызывается только первая ячейка. Вторая ячейка работает хорошо.

Кроме того, первая ячейка вызвала два тега.

Когда я нажимаю кнопку переключения первой ячейки,

Журнал: «первая кнопка переключателя нажата»

Журнал: «кнопка второго переключателя нажата»

Когда я нажимаю кнопку переключателя второй ячейки,

Журнал: «кнопка второго переключателя нажимается»

Мне нужно ваша помощь. Спасибо.

- (nonnull UITableViewCell *)tableView:(nonnull UITableView *)tableView cellForRowAtIndexPath:(nonnull NSIndexPath *)indexPath {
static NSString *cellIdentifier = @"certCell";

CertCustomCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];

if (cell == nil) {
    cell = [[CertCustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
}

switch (indexPath.row) {
    case 0:
        cell.switchButton.tag = 0;
        break;

    case 1:
        cell.switchButton.tag = 1;
        break;

    default:
        break;
}
return cell;

}

Я подключил кнопку переключателя действием на CustomCell.m

...