Pass variable to View Controller Embedded in Navigation Controller in Objective-C
I have embedded a destination viewcontroller in a navigation controller and am now unable to pass it a variable.
My code is:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
//THis is the navigation controller
UIViewController *destVC = [storyboard instantiateViewControllerWithIdentifier:@"myNav"];
//This is the view controller embedded in the nav
IDNowVC* myVC = [storyboard instantiateViewControllerWithIdentifier:@"myVC"];
myVC.sender = @1;//for contacts
[self presentViewController:destVC animated:YES completion:nil];
After the launch of the VC, sender property is nil. It is not getting the value @1.
What am I missing?
Thanks for any suggestions.
ios uiviewcontroller parameter-passing
add a comment |
I have embedded a destination viewcontroller in a navigation controller and am now unable to pass it a variable.
My code is:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
//THis is the navigation controller
UIViewController *destVC = [storyboard instantiateViewControllerWithIdentifier:@"myNav"];
//This is the view controller embedded in the nav
IDNowVC* myVC = [storyboard instantiateViewControllerWithIdentifier:@"myVC"];
myVC.sender = @1;//for contacts
[self presentViewController:destVC animated:YES completion:nil];
After the launch of the VC, sender property is nil. It is not getting the value @1.
What am I missing?
Thanks for any suggestions.
ios uiviewcontroller parameter-passing
add a comment |
I have embedded a destination viewcontroller in a navigation controller and am now unable to pass it a variable.
My code is:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
//THis is the navigation controller
UIViewController *destVC = [storyboard instantiateViewControllerWithIdentifier:@"myNav"];
//This is the view controller embedded in the nav
IDNowVC* myVC = [storyboard instantiateViewControllerWithIdentifier:@"myVC"];
myVC.sender = @1;//for contacts
[self presentViewController:destVC animated:YES completion:nil];
After the launch of the VC, sender property is nil. It is not getting the value @1.
What am I missing?
Thanks for any suggestions.
ios uiviewcontroller parameter-passing
I have embedded a destination viewcontroller in a navigation controller and am now unable to pass it a variable.
My code is:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
//THis is the navigation controller
UIViewController *destVC = [storyboard instantiateViewControllerWithIdentifier:@"myNav"];
//This is the view controller embedded in the nav
IDNowVC* myVC = [storyboard instantiateViewControllerWithIdentifier:@"myVC"];
myVC.sender = @1;//for contacts
[self presentViewController:destVC animated:YES completion:nil];
After the launch of the VC, sender property is nil. It is not getting the value @1.
What am I missing?
Thanks for any suggestions.
ios uiviewcontroller parameter-passing
ios uiviewcontroller parameter-passing
asked Nov 24 '18 at 18:06
user1904273user1904273
1,63882965
1,63882965
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
In your code you have a comment that says:
//This is the view controller embedded in the nav
However, the view controller below that comment is not the one embedded in your navigation controller. It's a completely new controller that is created at that line and disposed of at the end of the function.
You need something more like this:
UINavigationController *destVC = (UINavigationController *)[storyboard instantiateViewControllerWithIdentifier:@"myNav"];
IDNowVC* myVC = destVC.childViewControllers[0];
myVC.sender = @1;
There might be some syntax issues with the above...
Yes. That was it. I guess you could also instantiate myVC from storyboard, then get the nav from myNav using [[UINavigationController alloc] initWithRootViewController: myVC ];and launch myNav. You just can't instantiate both from storyboard and expect them to be connected.
– user1904273
Nov 24 '18 at 19:42
No. If you instantiate myVC from the storyboard, then it won't be connected to a UINavigationController.
– Daniel T.
Nov 24 '18 at 20:36
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53461002%2fpass-variable-to-view-controller-embedded-in-navigation-controller-in-objective%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
In your code you have a comment that says:
//This is the view controller embedded in the nav
However, the view controller below that comment is not the one embedded in your navigation controller. It's a completely new controller that is created at that line and disposed of at the end of the function.
You need something more like this:
UINavigationController *destVC = (UINavigationController *)[storyboard instantiateViewControllerWithIdentifier:@"myNav"];
IDNowVC* myVC = destVC.childViewControllers[0];
myVC.sender = @1;
There might be some syntax issues with the above...
Yes. That was it. I guess you could also instantiate myVC from storyboard, then get the nav from myNav using [[UINavigationController alloc] initWithRootViewController: myVC ];and launch myNav. You just can't instantiate both from storyboard and expect them to be connected.
– user1904273
Nov 24 '18 at 19:42
No. If you instantiate myVC from the storyboard, then it won't be connected to a UINavigationController.
– Daniel T.
Nov 24 '18 at 20:36
add a comment |
In your code you have a comment that says:
//This is the view controller embedded in the nav
However, the view controller below that comment is not the one embedded in your navigation controller. It's a completely new controller that is created at that line and disposed of at the end of the function.
You need something more like this:
UINavigationController *destVC = (UINavigationController *)[storyboard instantiateViewControllerWithIdentifier:@"myNav"];
IDNowVC* myVC = destVC.childViewControllers[0];
myVC.sender = @1;
There might be some syntax issues with the above...
Yes. That was it. I guess you could also instantiate myVC from storyboard, then get the nav from myNav using [[UINavigationController alloc] initWithRootViewController: myVC ];and launch myNav. You just can't instantiate both from storyboard and expect them to be connected.
– user1904273
Nov 24 '18 at 19:42
No. If you instantiate myVC from the storyboard, then it won't be connected to a UINavigationController.
– Daniel T.
Nov 24 '18 at 20:36
add a comment |
In your code you have a comment that says:
//This is the view controller embedded in the nav
However, the view controller below that comment is not the one embedded in your navigation controller. It's a completely new controller that is created at that line and disposed of at the end of the function.
You need something more like this:
UINavigationController *destVC = (UINavigationController *)[storyboard instantiateViewControllerWithIdentifier:@"myNav"];
IDNowVC* myVC = destVC.childViewControllers[0];
myVC.sender = @1;
There might be some syntax issues with the above...
In your code you have a comment that says:
//This is the view controller embedded in the nav
However, the view controller below that comment is not the one embedded in your navigation controller. It's a completely new controller that is created at that line and disposed of at the end of the function.
You need something more like this:
UINavigationController *destVC = (UINavigationController *)[storyboard instantiateViewControllerWithIdentifier:@"myNav"];
IDNowVC* myVC = destVC.childViewControllers[0];
myVC.sender = @1;
There might be some syntax issues with the above...
answered Nov 24 '18 at 18:15
Daniel T.Daniel T.
13.9k22734
13.9k22734
Yes. That was it. I guess you could also instantiate myVC from storyboard, then get the nav from myNav using [[UINavigationController alloc] initWithRootViewController: myVC ];and launch myNav. You just can't instantiate both from storyboard and expect them to be connected.
– user1904273
Nov 24 '18 at 19:42
No. If you instantiate myVC from the storyboard, then it won't be connected to a UINavigationController.
– Daniel T.
Nov 24 '18 at 20:36
add a comment |
Yes. That was it. I guess you could also instantiate myVC from storyboard, then get the nav from myNav using [[UINavigationController alloc] initWithRootViewController: myVC ];and launch myNav. You just can't instantiate both from storyboard and expect them to be connected.
– user1904273
Nov 24 '18 at 19:42
No. If you instantiate myVC from the storyboard, then it won't be connected to a UINavigationController.
– Daniel T.
Nov 24 '18 at 20:36
Yes. That was it. I guess you could also instantiate myVC from storyboard, then get the nav from myNav using [[UINavigationController alloc] initWithRootViewController: myVC ];and launch myNav. You just can't instantiate both from storyboard and expect them to be connected.
– user1904273
Nov 24 '18 at 19:42
Yes. That was it. I guess you could also instantiate myVC from storyboard, then get the nav from myNav using [[UINavigationController alloc] initWithRootViewController: myVC ];and launch myNav. You just can't instantiate both from storyboard and expect them to be connected.
– user1904273
Nov 24 '18 at 19:42
No. If you instantiate myVC from the storyboard, then it won't be connected to a UINavigationController.
– Daniel T.
Nov 24 '18 at 20:36
No. If you instantiate myVC from the storyboard, then it won't be connected to a UINavigationController.
– Daniel T.
Nov 24 '18 at 20:36
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53461002%2fpass-variable-to-view-controller-embedded-in-navigation-controller-in-objective%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown