Today I update my Xcode and started updating my app for the new iPhone 5 screen.
I suddenly notice that every time I go from Screen A to Screen B I get this warning:
Warning: Attempt to present on whose view is not in the window hierarchy!
// This delegate method prepares the segue from Screen A (DilemmaViewController) to Screen B (OptionsViewController)
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// Executes the following "if" statement if the user wants to add new options
if ([segue.identifier isEqualToString:@"AddOptions"])
{
UINavigationController *navigationController = segue.destinationViewController;
OptionsViewController *controller = (OptionsViewController *)navigationController.topViewController;
controller.delegate = self;
// If the user has already put some inputs on the form we send them through the segue
if ([edit count] > 0){
controller.edit = edit;
}
}
}
I haven't touched this since the first version of my app so I'm not sure of what can be happening here.
I've looked around the web and some people talk about moving code from viewDidLoad to viewAppear but I don't think that applies to this scenario.
Well I figured it out.
My problem was that at some point I made the mistake of connecting the Touch Up Inside event on top of the original (and correct) segue event:
Now that I fixed it:
It's working correctly again.
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