4

通常我以这种方式获取我选择的单元格:

- (void)tableView:(UITableView *)table didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    CustomCell *cell = (CustomCell*) [table cellForRowAtIndexPath:indexPath];
}

但是在我正在使用的代码中,我的表格视图中可能有多种单元格。如何获取所选单元格的类(例如,如果是CustomCellCustomCell2)?

4

2 回答 2

21

您可以检查返回的单元格类型

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
if ([cell isKindOfClass:[CustomCell class]]) {
     //do specific code
}else if([cell isKindOfClass:[CustomCell2 class]]){
    //Another custom cell
}else{
    //General cell
}
于 2013-06-09T14:40:36.863 回答
8

斯威夫特 4

以防万一,如果有人需要它。获取instance of selected cell and then check it for required tableViewCell type.

   func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        guard let cell = myCustomCell.cellForRow(at: indexPath)
            else
        {
            return
        }

/** MyCustomCell is your tableViewCell class for which you want to check. **/

    if cell.isKind(of: MyCustomCell.self) 
        {
           /** Do your stuff here **/
        }
}
于 2018-07-05T10:56:25.103 回答