1
resposta

[Dúvida] Conflito View e Row

Se existirem duas funcionalidades, uma na didSelectRowAt e outra na didSelectView, funcionará? Seria uma boa prática?

1 resposta

didSelectRowAt e didSelectView são métodos em diferentes classes do iOS que lidam com a seleção de uma célula ou visualização em uma tabela ou coleção.

didSelectRowAt é um método do protocolo UITableViewDelegate que é chamado quando o usuário toca em uma célula em uma tabela. Este método recebe como parâmetro o índice da linha selecionada e o objeto UITableViewCell correspondente. Com esse método, você pode implementar a lógica para lidar com a seleção de uma célula, como abrir uma nova tela, exibir um alerta ou atualizar a exibição da célula selecionada.

Exemplo de uso do didSelectRowAt:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    // Lógica para lidar com a seleção da célula
    let selectedCell = tableView.cellForRow(at: indexPath)
    selectedCell?.backgroundColor = .gray
}

didSelectView é um método do protocolo UICollectionViewDelegate que é chamado quando o usuário toca em uma visualização em uma coleção. Este método recebe como parâmetro a visualização selecionada e o índice da célula correspondente. Com esse método, você pode implementar a lógica para lidar com a seleção de uma visualização, como abrir uma nova tela, exibir um alerta ou atualizar a exibição da visualização selecionada.

Exemplo de uso do didSelectView:

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
    // Lógica para lidar com a seleção da visualização
    let selectedView = collectionView.cellForItem(at: indexPath)
    selectedView?.backgroundColor = .gray
}

Em resumo, didSelectRowAt é usado para lidar com a seleção de uma célula em uma tabela, enquanto didSelectView é usado para lidar com a seleção de uma visualização em uma coleção.