I want checked more cell with one click(touch).
In this code I try to do what I said bat … I have some problem
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *riga;
int esci=0;
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
NSDictionary *itemAtIndex = (NSDictionary *)[listad objectAtIndex:indexPath.row];
riga=[itemAtIndex objectForKey:@"riga"];
for (int i=0; i<[righeS count]; i++) {
if ([righeS objectAtIndex:i] ==riga) {
cell.accessoryType=UITableViewCellAccessoryNone;
//[tableView deselectRowAtIndexPath:indexPath animated:YES];
[righeS removeObjectAtIndex:i];
esci=1;
}
}
if (esci==0) {
[righeS addObject:riga];
cell.accessoryType = UITableViewCellAccessoryCheckmark;
//Check if value of qty of the next row is 0
bool trovato=FALSE;
for (int g =0 ;g <[listad count];g++){
NSDictionary *rigaScan=(NSDictionary*)[listad objectAtIndex:g];
if (trovato==TRUE) {
if ([[rigaScan objectForKey:@"qty"] isEqualToString: @"0"]){
NSString *rig;
rig=[rigaScan objectForKey:@"riga"];
[righeS addObject:rig];
cell.accessoryType=UITableViewCellAccessoryCheckmark;
}else{
break;
}
}
if ([rigaScan objectForKey:@"riga"]==riga){
trovato=TRUE;
}
[rigaScan release];
}
//Fine controllo
}
}
In this event I try when the user touches a cell to see if some value of the next cell is 0.
If the value is 0, I have to check also the next cell and the other value in the for iterate.
When the next value is !=0 I put break.
I believe that the logical code is correct but maybe not the syntax for cocoa.
Try this wonderful post from Cocoa With Love – Multiple row selection and editing in a UITableView