title: Add Cell to "Favorites" TableView from DetailView
body: <p>I have an existing UITableView that lists a number of cafes in the area. The data for each cafe is being pulled from a MySQL database. When a user clicks on a cafe (cell), it brings a user to a detail view. Currently, users can "Favorite" a cafe by clicking on the star image in each cell (this adds the favorited cell to FavoritesTableView). However, I want users to be able to add a cafe to the FavoritesTableView from the DetailView as well (in other words, "favorite" a cafe from the DetailView). Does anyone know how I would implement this?</p>
  
  <p>Right now, I have the star button in place in my <strong>DetailView.m</strong> (cafe details):</p>
  
  <pre><code>- (IBAction)buttonpressed:(UIButton *)fave {
      if (!checked) {
          [checkedButton setImage:[UIImage imageNamed:@"checked.png"] forState:UIControlStateNormal];
          checked = YES;
  
      }
  
      else if (checked) {
          [checkedButton setImage:[UIImage imageNamed:@"unchecked.png"] forState:UIControlStateNormal];
          checked = NO;
      }
  
  }
  </code></pre>
  
  <p><strong>ViewController.m</strong> (cafes tableview)</p>
  
  <pre><code>- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  {
  
      static NSString *strainTableIdentifier = @"StrainTableCell";
  
      StrainTableCell *cell = (StrainTableCell *)[tableView dequeueReusableCellWithIdentifier:strainTableIdentifier];
      if (cell == nil)
  
  
      cell = [[StrainTableCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:strainTableIdentifier];
  
      cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
      cell.selectionStyle = UITableViewCellSelectionStyleBlue;
  
  
  
      NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"StrainTableCell" owner:self options:nil];
      cell = [nib objectAtIndex:0];
  
      if (tableView == self.searchDisplayController.searchResultsTableView) {
          NSLog(@"Using the search results");
  
          cell.titleLabel.text = [[searchResults objectAtIndex:indexPath.row] objectForKey:@"Title"];
          cell.descriptionLabel.text = [[searchResults objectAtIndex:indexPath.row] objectForKey:@"Description"];
          cell.ratingLabel.text = [[searchResults objectAtIndex:indexPath.row] objectForKey:@"Rating"];
          cell.ailmentLabel.text = [[searchResults objectAtIndex:indexPath.row] objectForKey:@"Ailment"];
          cell.actionLabel.text = [[searchResults objectAtIndex:indexPath.row] objectForKey:@"Action"];
          cell.ingestLabel.text = [[searchResults objectAtIndex:indexPath.row] objectForKey:@"Ingestion"];
  
          NSLog(@"%@", searchResults);
  
  
  
      } else {
          NSLog(@"Using the FULL LIST!!");
          cell.titleLabel.text = [[Strains objectAtIndex:indexPath.row] objectForKey:@"Title"];
          cell.descriptionLabel.text = [[Strains objectAtIndex:indexPath.row] objectForKey:@"Description"];
          cell.ratingLabel.text = [[Strains objectAtIndex:indexPath.row] objectForKey:@"Rating"];
          cell.ailmentLabel.text = [[Strains objectAtIndex:indexPath.row] objectForKey:@"Ailment"];
          cell.actionLabel.text = [[Strains objectAtIndex:indexPath.row] objectForKey:@"Action"];
          cell.ingestLabel.text = [[Strains objectAtIndex:indexPath.row] objectForKey:@"Ingestion"];
  
      }
  
  
      NSMutableDictionary *item = [Strains objectAtIndex:indexPath.row];
      cell.textLabel.text = [item objectForKey:@"text"];
  
      [item setObject:cell forKey:@"StrainTableCell"];
      BOOL checked = [[item objectForKey:@"checked"] boolValue];
  
      NSLog(@"%i",checked);
      UIImage *image = (checked) ? [UIImage   imageNamed:@"checked.png"] : [UIImage imageNamed:@"unchecked.png"];
      UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
      CGRect frame = CGRectMake(0.0, 0.0, image.size.width, image.size.height);
      button.frame = frame;
      [button setBackgroundImage:image forState:UIControlStateNormal];
      [button addTarget:self action:@selector(checkButtonTapped:event:)  forControlEvents:UIControlEventTouchUpInside];
      button.backgroundColor = [UIColor clearColor];
      cell.accessoryView = button;
  
      return cell;
  
  
  }
  
  
  - (void)checkButtonTapped:(id)sender event:(id)event
  {
      NSLog(@"made it here and event is %@",event);
  
      NSSet *touches = [event allTouches];
      UITouch *touch = [touches anyObject];
      CGPoint currentTouchPosition = [touch locationInView:self.StrainTableView];
      NSIndexPath *  indexPath ;
      indexPath =  [self.StrainTableView indexPathForRowAtPoint: currentTouchPosition];
      NSLog(@"indexpath is below");
      NSLog(@"%@",indexPath);
      if (indexPath != Nil)
      {
  
          NSMutableDictionary *item = [Strains objectAtIndex:indexPath.row];
          BOOL isItChecked =  [[item objectForKey:@"checked"] boolValue];
  
  NSMutableArray *quickArray = [[NSMutableArray alloc] initWithArray:Strains];
          [quickArray replaceObjectAtIndex:indexPath.row withObject:item];
  
  
          [item setObject:[NSNumber numberWithBool:!isItChecked] forKey:@"checked"];
          Strains = [quickArray copy];
  
   [StrainTableView reloadData];
  
      }
  
  }
  
      - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
  
  
  
          StrainDetailViewController *detailViewController = [[StrainDetailViewController alloc] initWithNibName:@"StrainDetailViewController" bundle:nil]; if ([searchResults count]) {
  
              detailViewController.title = [[searchResults objectAtIndex:indexPath.row] objectForKey:@"Title"];
              detailViewController.strainDetail = [searchResults objectAtIndex:indexPath.row];
  
          } else {
  
              detailViewController.title = [[Strains objectAtIndex:indexPath.row] objectForKey:@"Title"];
              detailViewController.strainDetail = [Strains objectAtIndex:indexPath.row];
              NSLog(@"%@", Strains);
          }
  
  
          [self.navigationController pushViewController:detailViewController animated:YES];
  
  
  
          // Release any retained subviews of the main view.
          // e.g. self.myOutlet = nil;
      }
  
  
      - (void)viewWillAppear:(BOOL)animated
      {
          [super viewWillAppear:animated];
  
          if ([[NSUserDefaults standardUserDefaults] objectForKey:@"strains"] != Nil) {
  
  
              NSData *dataSave = [[NSUserDefaults standardUserDefaults] objectForKey:@"strains"];
              Strains =  [NSKeyedUnarchiver unarchiveObjectWithData:dataSave];
          }
  
  
          if (favoritesArray == Nil) {
               favoritesArray = [[NSMutableSet alloc] init];   
          }
  
  
  
          if ([[NSUserDefaults standardUserDefaults] objectForKey:@"favorites"] != Nil) {
  
  
              NSData *dataSave = [[NSUserDefaults standardUserDefaults] objectForKey:@"favorites"];
              favoritesArray =  [NSKeyedUnarchiver unarchiveObjectWithData:dataSave];
          }
  </code></pre>
  
  <p>I'm just not sure what sort of code I would add to this in order to make the "Checked" button add the selected cell from UITableView to FavoritesTableView. </p>
  
  <p>Hope this made sense. Any ideas?</p>