user1986441
user1986441

Reputation:

How to select and save multiple values from tables rows

here i have made a table class in which i have a list of 120 words, now i have to select minimum ten rows of the table for further precision.. please any one can guide me that how can i select more than 10 rows from table and save these value in specific array or somewhere else.. please help me out of it.

 @implementation tableview
  NSArray *myArray ;

 - (id)initWithStyle:(UITableViewStyle)style
 {

    self = [super initWithStyle:style];

    if (self) {
        // Custom initialization
    }
     return self;
 }

 - (void)viewDidLoad
 {
    [super viewDidLoad];

     myArray = [NSArray arrayWithObjects:

                 @"ad (a-d)",.......,Nil];

   }

 - (void)didReceiveMemoryWarning
 {
    [super didReceiveMemoryWarning];
 }

 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
     return  [myArray  count];
 }

 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
     return 1;
 }
 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath  *)indexPath {

     static NSString *CellIdentifier = @"Cell";

     UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

     if (cell == nil) {

         cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
     }

   cell.textLabel.text = [myArray objectAtIndex:indexPath.row]; //=@"ASDF" works.

    return cell;
}

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
 {
     <#DetailViewController#> *detailViewController = [[<#DetailViewController#> alloc]  initWithNibName:@"<#Nib name#>" bundle:nil];
     [self.navigationController pushViewController:detailViewController animated:YES];
}

@end

Upvotes: 1

Views: 397

Answers (2)

Anoop Vaidya
Anoop Vaidya

Reputation: 46533

One quick idea that come into mind is, as soon as you select a row/cell, save the values in a collection object (array, dictionary), and keep on adding.

Delete from the collection if you deselect the row/cell.

Upvotes: 2

Deepesh Gairola
Deepesh Gairola

Reputation: 1242

For multiple cell selection in your table add this code inside didSelectRowAtIndexPath: method. For saving selection values, create an iVar NSMutableArray and add the newly selected object inside didSelectRowAtIndexPath:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)path {
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:path];

    if (cell.accessoryType == UITableViewCellAccessoryCheckmark) {
        cell.accessoryType = UITableViewCellAccessoryNone;
    } else {
        cell.accessoryType = UITableViewCellAccessoryCheckmark;
    }
}

Upvotes: 2

Related Questions