I am using this function to switch between views in Xcode 4.3.
[self performSegueWithIdentifier:@"NextView" sender:self];
I would like to pass some parameters between pages. How can I do that?
I am using this function to switch between views in Xcode 4.3.
[self performSegueWithIdentifier:@"NextView" sender:self];
I would like to pass some parameters between pages. How can I do that?
After performSegueWithIdentifier:sender:
your view controler will call
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
assuming your new view controller has some propertys to set:
if ([[segue identifier] isEqualToString:@"NextView"]) {
MyViewController *myVC = [segue destinationViewController];
myVC.propertyToSet = // set your properties here
}
This question has a very nice and correct explanation of passing data between view controllers:
Passing Data between View Controllers
Here is the answer from Pfitz, but I made it a little easier to understand for folks who are new to Objective-C using an example:
In your destinationViewController.h file add property setting for variable to 'receive' value from your source controller.m file
@property (nonatomic) int billIdReceivingVote;
Import your destinationViewController.h to your sourceViewController.m file:
// VOLViewController.m
#import "VOLVoteViewController.h
Add prepareForSegue
method to your sourceViewController.m file and pass the variables
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
VOLVoteViewController *myDestinationViewController = [segue destinationViewController];
// myDestinationViewController.variable = sourceViewController variabe
myDestinationViewController.billIdReceivingVote = [self.idOfBillSelected intValue];
}