Im looking to access the value of an NSString from the parent ViewController inside the PopOver View Controller. Below is the code i have that generates the popover when selecting a row from a tableView. I need to be able to access the varToPass value in the editPersonViewController.
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UIView *anchorr = tableView;
UIViewController *viewControllerForPopover =
[self.storyboard instantiateViewControllerWithIdentifier:@"editPersonViewController"];
popover = [[UIPopoverController alloc]
initWithContentViewController:viewControllerForPopover];
[popover presentPopoverFromRect:anchorr.frame
inView:anchorr.superview
permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
Person *person = [arrayOfPersons objectAtIndex:indexPath.row];
// I Need to Send/Access This Value In editPersonViewController
NSString *varToPass = person.personID;
}
Add a public property in your editPersonViewController.h file called personID like so
@property (nonatomic, strong) NSString *personID;
Then, just reorder your instantiation of the editViewController to look like this:
UIView *anchorr = tableView;
Person *person = [arrayOfPersons objectAtIndex:indexPath.row];
EditPersonViewController *viewControllerForPopover =
(EditPersonViewController *)[self.storyboard instantiateViewControllerWithIdentifier:@"editPersonViewController"];
viewControllerForPopover.personID= person.personID;
popover = [[UIPopoverController alloc]
initWithContentViewController:viewControllerForPopover];
[popover presentPopoverFromRect:anchorr.frame
inView:anchorr.superview
permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];