SergiusGee SergiusGee - 4 months ago 44
iOS Question

Checking if a ViewController on Navigation Stack exists

I have this code here to check on the existence of the

ViewController
. And unfortunately it doesn't work. The thing is, it is executed at the moment of another VC popping from the
Navigation Stack
:

- (void) leftViewDidHide{
if ([((AppDelegate *)[UIApplication sharedApplication].delegate).frontViewController.navigationController.viewControllers objectAtIndex:1]) {
SGServerListViewController *sample = [[[((AppDelegate *)[UIApplication sharedApplication].delegate).frontViewController.navigationController.viewControllers objectAtIndex:1]childViewControllers] objectAtIndex:0];
[sample.serverTableView setUserInteractionEnabled:YES];
}
}


The app crashes with an exception breakpoint pointing me to the line with an
if
statement. Any ideas on what could be wrong here? I'm just trying to check if this
VC
is there and if it is - execute the code.

SAE SAE
Answer
- (void) leftViewDidHide{

if ([((AppDelegate *)[UIApplication sharedApplication].delegate).frontViewController.navigationController.viewControllers count] == 1) {
SGServerListViewController *sample = [[[((AppDelegate *)[UIApplication sharedApplication].delegate).frontViewController.navigationController.viewControllers objectAtIndex:1]childViewControllers] objectAtIndex:0];
[sample.serverTableView setUserInteractionEnabled:YES];
}

}