i’m working on table view for last few days. but, now i’m stuck. actually, what m i doin’ is that i i want to store cell indexes into a mutable array. i’d done this part. but, as i scroll the table view, the data stored in the array gets refreshed and the indexes that i stored gets removed from that mutable array. here’s the code what i have done so far….
-
(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{if (tableView == table1) {
static NSString *CellIdentifier = @”Cell”;NSString *CellId = [NSString stringWithFormat:@"Cell %d",indexPath.row]; CellIdentifier = CellId; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; cell.selectionStyle = UITableViewCellSelectionStyleNone; } NSUserDefaults *defaults1 = [NSUserDefaults standardUserDefaults]; NSString *loadname1 = [defaults1 objectForKey:@"name1saved"]; NSUserDefaults *defaults2 = [NSUserDefaults standardUserDefaults]; NSString *loadname2 = [defaults2 objectForKey:@"name2saved"]; NSUserDefaults *defaults3 = [NSUserDefaults standardUserDefaults]; NSString *loadname3 = [defaults3 objectForKey:@"name3saved"]; NSUserDefaults *defaults4 = [NSUserDefaults standardUserDefaults]; NSString *loadname4 = [defaults4 objectForKey:@"name4saved"]; NSUserDefaults *defaults5 = [NSUserDefaults standardUserDefaults]; NSString *loadname5 = [defaults5 objectForKey:@"name5saved"]; NSUserDefaults *defaults6 = [NSUserDefaults standardUserDefaults]; NSString *loadname6 = [defaults6 objectForKey:@"name6saved"]; NSUserDefaults *defaults7 = [NSUserDefaults standardUserDefaults]; NSString *loadname7 = [defaults7 objectForKey:@"name7saved"]; NSUserDefaults *defaults8 = [NSUserDefaults standardUserDefaults]; NSString *loadname8 = [defaults8 objectForKey:@"name8saved"]; NSUserDefaults *defaults9 = [NSUserDefaults standardUserDefaults]; NSString *loadname9 = [defaults9 objectForKey:@"name9saved"]; NSUserDefaults *defaults10 = [NSUserDefaults standardUserDefaults]; NSString *loadname10 = [defaults10 objectForKey:@"name10saved"]; NSUserDefaults *defaults11 = [NSUserDefaults standardUserDefaults]; NSString *loadname11 = [defaults11 objectForKey:@"name11saved"]; NSUserDefaults *defaults12 = [NSUserDefaults standardUserDefaults]; NSString *loadname12 = [defaults12 objectForKey:@"name12saved"]; NSUserDefaults *defaults13 = [NSUserDefaults standardUserDefaults]; NSString *loadname13 = [defaults13 objectForKey:@"name13saved"]; NSUserDefaults *defaults14 = [NSUserDefaults standardUserDefaults]; NSString *loadname14 = [defaults14 objectForKey:@"name14saved"]; NSUserDefaults *defaults15 = [NSUserDefaults standardUserDefaults]; NSString *loadname15 = [defaults15 objectForKey:@"name15saved"]; NSUserDefaults *defaults16 = [NSUserDefaults standardUserDefaults]; NSString *loadname16 = [defaults16 objectForKey:@"name16saved"]; NSUserDefaults *defaults17 = [NSUserDefaults standardUserDefaults]; NSString *loadname17 = [defaults17 objectForKey:@"name17saved"]; NSUserDefaults *defaults18 = [NSUserDefaults standardUserDefaults]; NSString *loadname18 = [defaults18 objectForKey:@"name18saved"]; NSUserDefaults *defaults19 = [NSUserDefaults standardUserDefaults]; NSString *loadname19 = [defaults19 objectForKey:@"name19saved"]; NSUserDefaults *defaults20 = [NSUserDefaults standardUserDefaults]; NSString *loadname20 = [defaults20 objectForKey:@"name20saved"]; mTFArrayOfNames = [[NSMutableArray alloc]init ]; [mTFArrayOfNames insertObject:[NSString stringWithFormat:@"%@", loadname1] atIndex:[mTFArrayOfNames count]] ; [mTFArrayOfNames insertObject:[NSString stringWithFormat:@"%@", loadname2] atIndex:[mTFArrayOfNames count]] ; [mTFArrayOfNames insertObject:[NSString stringWithFormat:@"%@", loadname3] atIndex:[mTFArrayOfNames count]] ; [mTFArrayOfNames insertObject:[NSString stringWithFormat:@"%@", loadname4] atIndex:[mTFArrayOfNames count]] ; [mTFArrayOfNames insertObject:[NSString stringWithFormat:@"%@", loadname5] atIndex:[mTFArrayOfNames count]] ; [mTFArrayOfNames insertObject:[NSString stringWithFormat:@"%@", loadname6] atIndex:[mTFArrayOfNames count]] ; [mTFArrayOfNames insertObject:[NSString stringWithFormat:@"%@", loadname7] atIndex:[mTFArrayOfNames count]] ; [mTFArrayOfNames insertObject:[NSString stringWithFormat:@"%@", loadname8] atIndex:[mTFArrayOfNames count]] ; [mTFArrayOfNames insertObject:[NSString stringWithFormat:@"%@", loadname9] atIndex:[mTFArrayOfNames count]] ; [mTFArrayOfNames insertObject:[NSString stringWithFormat:@"%@", loadname10] atIndex:[mTFArrayOfNames count]] ; [mTFArrayOfNames insertObject:[NSString stringWithFormat:@"%@", loadname11] atIndex:[mTFArrayOfNames count]] ; [mTFArrayOfNames insertObject:[NSString stringWithFormat:@"%@", loadname12] atIndex:[mTFArrayOfNames count]] ; [mTFArrayOfNames insertObject:[NSString stringWithFormat:@"%@", loadname13] atIndex:[mTFArrayOfNames count]] ; [mTFArrayOfNames insertObject:[NSString stringWithFormat:@"%@", loadname14] atIndex:[mTFArrayOfNames count]] ; [mTFArrayOfNames insertObject:[NSString stringWithFormat:@"%@", loadname15] atIndex:[mTFArrayOfNames count]] ; [mTFArrayOfNames insertObject:[NSString stringWithFormat:@"%@", loadname16] atIndex:[mTFArrayOfNames count]] ; [mTFArrayOfNames insertObject:[NSString stringWithFormat:@"%@", loadname17] atIndex:[mTFArrayOfNames count]] ; [mTFArrayOfNames insertObject:[NSString stringWithFormat:@"%@", loadname18] atIndex:[mTFArrayOfNames count]] ; [mTFArrayOfNames insertObject:[NSString stringWithFormat:@"%@", loadname19] atIndex:[mTFArrayOfNames count]] ; [mTFArrayOfNames insertObject:[NSString stringWithFormat:@"%@", loadname20] atIndex:[mTFArrayOfNames count]] ; NSLog(@"%@", mTFArrayOfNames); if (indexPath.row == 0) { cell.textLabel.text = loadname1; } if (indexPath.row == 1) { cell.textLabel.text = loadname2; } if (indexPath.row == 2) { cell.textLabel.text = loadname3; } if (indexPath.row == 3) { cell.textLabel.text = loadname4; } if (indexPath.row == 4) { cell.textLabel.text = loadname5; } if (indexPath.row == 5) { cell.textLabel.text = loadname6; } if (indexPath.row == 6) { cell.textLabel.text = loadname7; } if (indexPath.row == 7) { cell.textLabel.text = loadname8; } if (indexPath.row == 8) { cell.textLabel.text = loadname9; } if (indexPath.row == 9) { cell.textLabel.text = loadname10; } if (indexPath.row == 10) { cell.textLabel.text = loadname11; } if (indexPath.row == 11) { cell.textLabel.text = loadname12; } if (indexPath.row == 12) { cell.textLabel.text = loadname13; } if (indexPath.row == 13) { cell.textLabel.text = loadname14; } if (indexPath.row == 14) { cell.textLabel.text = loadname15; } if (indexPath.row == 15) { cell.textLabel.text = loadname16; } if (indexPath.row == 16) { cell.textLabel.text = loadname17; } if (indexPath.row == 17) { cell.textLabel.text = loadname18; } if (indexPath.row == 18) { cell.textLabel.text = loadname19; } if (indexPath.row == 19) { cell.textLabel.text = loadname20; } cell.textLabel.font = [UIFont fontWithName:@"Bauhaus 93" size:18]; cell.textLabel.textColor = [UIColor whiteColor]; cell.textLabel.backgroundColor = [UIColor grayColor]; [cell.textLabel setTextAlignment:UITextAlignmentCenter]; return cell;}
} -
(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{if (tableView == table1) {
UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath];if ([selectedCell accessoryType] == UITableViewCellAccessoryNone) { [selectedCell setAccessoryType:UITableViewCellAccessoryCheckmark]; [selectedIndexes addObject:[NSNumber numberWithInt:indexPath.row]]; selectedCell.backgroundColor =[UIColor blueColor]; } else { [selectedCell setAccessoryType:UITableViewCellAccessoryNone]; [selectedIndexes removeObject:[NSNumber numberWithInt:indexPath.row]]; selectedCell.backgroundColor =[UIColor clearColor]; } [tableView deselectRowAtIndexPath:indexPath animated:NO]; names = [[NSMutableArray alloc] init]; for (int i = 0; i < mTFArrayOfNames.count; i++) { if ([self.table1 cellForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:0]].accessoryType == UITableViewCellAccessoryCheckmark) { [names addObject:[mTFArrayOfNames objectAtIndex:i]]; } NSLog(@"name1 is %@", names); }
}
}
Please help me. thankx in advance….
Is it the
namesMutableArray that is getting refreshed ?If so, it is because you are initializing it everytime a cell is selected. Thus ending up in deleting the previously set value.
Initialize the
namesarray outsite the delegate. maybe in viewDidLoad or where ever you intialize the TableViewIn didSelect, add the new object in the
namesarrayAlso, it is bad logic to create all the
loadnameXin thecellForRowAtIndexPathand add to newly initializedmTFArrayOfNames.cellForRowAtIndexPathand add it to viewDidLoad or where ever you intialize the TableView