Warning window hierarchy when loading delegate
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 BI 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.
链接地址: http://www.djcxy.com/p/66042.html上一篇: 列表迭代器会导致堆分配?
下一篇: 加载委托时的警告窗口层次结构