title: IndexPath.row on a button?
body: <p>I have an app in which you can have some details of something and then inside that thing you have a sub-category of things. I have made a button as there was not enough room for a navigation item and I can't seem to be able to call only the items that are assigned to that in my nsmutablearray. I have tried to used <code>initWithIndexPath:indexPath.row</code> though it comes up with this error:</p>
  
  <blockquote>
    <p>Use of undeclared identifyer "indexPath"; did you mean "NSIndexPath"</p>
  </blockquote>
  
  <p>This is the code for my tableView inside my tableView:</p>
  
  <pre><code>#import "PRViewController.h"
  
  #import "Patient.h"
  
  #import "LSAppDelegate.h"
  
  #import "LSViewController.h"
  
  #import "LSAppDelegate.h"
  
  #import "Patient.h"
  
  #import "PatientController.h"
  
  #import "AddPatientController.h"
  
  #import "treatmentController.h"
  
  @interface PRViewController ()
  
  @end
  
  @implementation PRViewController
  
  - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
  {
      self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
      if (self) {
          // Custom initialization
      }
      return self;
  }
  
  - (void)viewDidLoad
  {
      [super viewDidLoad];
      self.navigationItem.rightBarButtonItem = self.editButtonItem;
      self.title = @"Treatments";
      LSAppDelegate *delegate = (LSAppDelegate *)[[UIApplication sharedApplication] delegate];
      patients = delegate.patients;
      [[UIToolbar appearance] setTintColor:[UIColor brownColor]];
      // Do any additional setup after loading the view, typically from a nib.
  }
  
  - (void)didReceiveMemoryWarning
  {
      [super didReceiveMemoryWarning];
      // Dispose of any resources that can be recreated.
  }
  
  -(IBAction)add:(id) sender{
  
      [self.tableView reloadData];
      [self.tableView setEditing:YES animated:YES];
      if(self.tableView) {
          NSMutableArray *indices = [[NSMutableArray alloc] init];
          for (int i=0; i &lt; patients.count; i++) {
              [indices addObject:[NSIndexPath indexPathForRow:i inSection:0]];
  
          }
          NSArray *lastIndex = [NSArray arrayWithObject:[NSIndexPath indexPathForRow:patients.count inSection:0]];
          if (self.tableView) {
              for (int i=0; i &lt; patients.count; i++) {
                  UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:[indices objectAtIndex:i]];
                  [cell setSelectionStyle:UITableViewCellSelectionStyleBlue];
              }
          }
      }
      [self.tableView setEditing:NO animated:YES];
      treatmentController *AddPatient = [[treatmentController alloc] init];
      [self.navigationController pushViewController:AddPatient animated:YES];
      [super setEditing:NO animated:NO];
  }
  
  -(void)setEditing:(BOOL)editing animated:(BOOL) animated {
      if ( editing != self.editing ) {
          [super setEditing:editing animated:animated];
          [self.tableView setEditing:editing animated:animated];
  
      }
  }
  
  #pragma mark UITableViewDataSource Methods
  
  - (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath {
      UITableViewCell *cell = [tv dequeueReusableCellWithIdentifier:@"cell"];
      if ( nil == cell ) {
          cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
      }
  
      NSLog(@"indexPath.row = %d, patients.count = %d", indexPath.row, patients.count);
      Patient *thisPatient = [patients objectAtIndex:indexPath.row];
      if (thisPatient.treatmentName.length &gt; 0) {
          cell.textLabel.text = thisPatient.treatmentName;
          cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
          cell.textLabel.textColor = [UIColor blackColor];
      } else {
  
      }
      if (self.editing) {
          [cell setSelectionStyle:UITableViewCellSelectionStyleNone];
      }
      return cell;
  }
  
  - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
      return [patients count];
  }
  
  #pragma mark UITableViewDelegate Methods
  
  - (void) tableView:(UITableView *)tv commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
      if ( editingStyle == UITableViewCellEditingStyleDelete ) {
          [patients removeObjectAtIndex:indexPath.row];
          [tv deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationLeft];
      }
  }
  
  - (void)tableView:(UITableView *)tv didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
      LSAppDelegate *delegate = (LSAppDelegate *)[[UIApplication sharedApplication] delegate];
      PatientController *patient = [[PatientController alloc] initWithIndexPath:indexPath];
      [delegate.navController pushViewController:patient animated:YES];
      [tv deselectRowAtIndexPath:indexPath animated:YES];
  }
  @end
  </code></pre>
  
  <p>Please say if you want any more code or information and please answer as soon as you can</p>
  
  <p>file for the button I am pushing with:</p>
  
  <pre><code>#import "PatientController.h"
  
  #import "LSAppDelegate.h"
  
  #import "Patient.h"
  
  #import "PRViewController.h"
  
  @interface PatientController ()
  
  @end
  
  @implementation PatientController
  
  
  
  - (id)initWithIndexPath:(NSIndexPath *)indexPath {
  
      if ( ( self = [super init]) ) {
          index = indexPath;
      }
      return self;
  }
  
  - (IBAction)PatientRecords:(id)sender {
      PRViewController *AddPatient = [[PRViewController alloc] initWithIndexPath:indexPath.row];
      [self.navigationController pushViewController:AddPatient animated:YES];
  
  }
  
  - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
  {
      self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
      if (self) {
          // Custom initialization
      }
      return self;
  }
  
  
  - (void)viewDidLoad
  {
      [super viewDidLoad];
      LSAppDelegate *delegate = (LSAppDelegate *)[[UIApplication sharedApplication] delegate];
      Patient *thisPatient = [delegate.patients objectAtIndex:index.row];
      self.navigationItem.rightBarButtonItem = self.editButtonItem;
      self.title = thisPatient.patientName;
      patientNameView.text = thisPatient.patientName;
      patientFirstNameView.text = @"Firstname:";
      patientSurnameView.text = thisPatient.patientSurname;
      patientSurnameNameView.text = @"Surname:";
      patientDoBView.text = thisPatient.patientDoB;
      patientDoBDateView.text = @"Date of Birth:";
      patientHomeView.text = thisPatient.patientHomeNumber;
      patientHomeNumberView.text = @"Home No:";
      patientMobileView.text = thisPatient.patientMobileNumber;
      patientMobileNumberView.text = @"Mobile No:";
      patientAddressView.text = thisPatient.patientAddress;
      patientAddressView.editable = NO;
      patientAddressPlaceNumberView.text = @"Address:";
      patientEmailView.text = thisPatient.patientEmail;
      patientEmailAddressView.text = @"Email:";
  
      patientPictureView.image = thisPatient.patientPicture;
      // Do any additional setup after loading the view from its nib.
  }
  
  - (void)didReceiveMemoryWarning
  {
      [super didReceiveMemoryWarning];
      // Dispose of any resources that can be recreated.
  }
  
  -(void)setEditing:(BOOL)editing animated:(BOOL) animated {
      if ( editing != self.editing ) {
          [super setEditing:editing animated:animated];
          patientAddressView.editable = YES;
      }
  }
  
  @end
  </code></pre>
  
  <p>Thanks in advance</p>