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
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];
}
Except @IBOutlets, you can simply assing data to destination view controller properties.
var name: String?
let storyboard = UIStoryboard(name: "Helper", bundle: nil)
let destinationVC = storyboard.instantiateViewControllerWithIdentifier("DestinationSID") as! DestinationVC
destinationVC.name = "Mustafa"
presentViewController(destinationVC, animated: true, completion: nil)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With