多选做法如下:
- (void)tableView:(UITableView *)tableViewdidSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableViewdeselectRowAtIndexPath:indexPath animated:YES];
Custom *cell= (Custom*)[tableView cellForRowAtIndexPath:indexPath];
NSUIntegerrow = [indexPath row];
NSMutableDictionary *dic = [contacts objectAtIndex:row];
if ([[dicobjectForKey:@"checked"] isEqualToString:@"NO"]) {
[dic setObject:@"YES" forKey:@"checked"];
[cell setChecked:YES];
}else{
[dic setObject:@"NO" forKey:@"checked"];
[cell setChecked:NO];
}
}
在cell类中添加BOOL属性checked和设置方法setChecked...
全选做法如下:
NSArray *anArrayOfIndexPath = [NSArray arrayWithArray:[contactListindexPathsForVisibleRows]];
for (int i =0; i < [contacts count]; i++) {
NSIndexPath *indexPath= [anArrayOfIndexPath objectAtIndex:i];
Custom *cell = (Custom*)[contactListcellForRowAtIndexPath:indexPath];
NSUInteger row = [indexPath row];
NSMutableDictionary *dic = [contacts objectAtIndex:row];
if ([[[(UIButton*)sender titleLabel] text] isEqualToString:@"全选"]){
[dic setObject:@"YES" forKey:@"checked"];
[cell setChecked:YES];
}else {
[dic setObject:@"NO" forKey:@"checked"];
[cell setChecked:NO];
}
}