Gualty Gualty - 4 months ago 14
iOS Question

How to pass variables between view controller using presentViewController in iOS SDK?

some days ago I wrote a method to load a view controller using presentViewController:

-(void)passaGC:(NSString *)user
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *viewController = (UIViewController *)[storyboard instantiateViewControllerWithIdentifier:@"generaC"];
[self presentViewController:viewController animated:YES completion:nil];

}


But today I need to pass the variable user from this method to the loaded viewController.

How can I modify my method to do this?

I found other question on stack overflow but nothing is really similar to my request

Answer

add a property to your destination viewController (in the .h):

@property (strong, nonatomic) NSString *user;

and finally your method will look like

-(void)passaGC:(NSString *)user
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *viewController = (UIViewController *)[storyboard instantiateViewControllerWithIdentifier:@"generaC"];

viewController.user = user;

[self presentViewController:viewController animated:YES completion:nil];

}
Comments