处理UITableView中单元格的选择

处理UITableView中单元格的选择,uitableview,nsarray,polymorphism,Uitableview,Nsarray,Polymorphism,我有一个名为“SelectTableViewController”的泛型类。 此表视图类中使用的NSArray包含不同的模型,如: “联系人”、“公司”、“任务”等 我需要知道以统一的方式处理不同数据类型的值的最佳方法 我不想要这样的支票: if [[self.sourceArray objectAtIndex:indexPath] isKindOfClass:[Contact class]] { //DO some processing Contact.. } else if [[self.

我有一个名为“SelectTableViewController”的泛型类。 此表视图类中使用的NSArray包含不同的模型,如: “联系人”、“公司”、“任务”等

我需要知道以统一的方式处理不同数据类型的值的最佳方法

我不想要这样的支票:

if [[self.sourceArray objectAtIndex:indexPath] isKindOfClass:[Contact class]]  {
//DO some processing Contact..
}
else if [[self.sourceArray objectAtIndex:indexPath] isKindOfClass:[Company class]]  {
//DO some processing for Company..
}
else if [[self.sourceArray objectAtIndex:indexPath] isKindOfClass:[Task class]]  {
//DO some processing Task..
}

数组总是只包含一种类型的对象,还是混合对象?你能依靠什么?可以更改什么?数组包含多种类型的对象。我还可以选择多个值,然后通过请求将值(如contact.contactID、company.comapnyID)发送到服务器。id selectedItem=[self.source objectAtIndex:indexPath.row];如果(cell.accessoryType==UITableViewCellAccessoryCheckmark){cell.accessoryType=UITableViewCellAccessoryNone;[self.selectedObject removeObject:selectedItem];}其他{cell.accessoryType=UITableViewCellAccessoryCheckmark;[self.selectedObject addObject:selectedItem];}selectedItem是NSMutableOrderedSet。