2012-04-18 12:58:07.108 MYiPad[12574:c07] Terminating app due to uncaught exception UIViewControllerHierarchyInconsistency, reason: A view can only be associated with at most one view controller at a time! View < UITableView: 0xb0eae00; frame = (0 0; 320 960); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = < NSArray: 0xac460e0>; layer = < CALayer: 0xac46830>; contentOffset: {-0, -20}> is associated with < RootViewController: 0xac20f20 >. Clear this association before associating this view with .
First throw call stack: (0x1b57012 0x153ce7e 0x1b56deb 0x4cf309 0x5665ac 0x562a90 0x6b0232 0x4e257 0x21e3f 0x184a8c 0x19c417d 0x1836d2 0xc4c2 0x1aae59 0x1a8f22 0x1aa16a 0x1a8edd 0x1a9055 0xf6338 0x1e64a81 0x1e63d33 0x1ea1e3a 0x1af98fd 0x1ea24bc 0x1ea2435 0x1d8c3a0 0x1adaf3f 0x1ada96f 0x1afd734 0x1afcf44 0x1afce1b 0x24917e3 0x2491668 0x48165c 0x2c8d 0x2bc5 0x1) libc++abi.dylib: terminate called throwing an exception
*- (void)viewDidLoad {
[self.tableView initWithFrame:self.tableView.frame style:UITableViewStyleGrouped];
self.tableView.contentInset = UIEdgeInsetsMake(20.0,0.0,0.0,0.0);
self.appDelegate = (FCDBiPadAppDelegate *)[[UIApplication sharedApplication] delegate];
[self.tableView setBackgroundView:nil];
[self.tableView setBackgroundView:[[[UIView alloc] init] autorelease]];
[self.tableView setBackgroundColor:[UIColor colorWithRed:217 green:220 blue:225 alpha:0.9]];
unsigned int b;
NSScanner *scanner = [[NSScanner alloc] initWithString:[[[Engine sharedInstance] properties] objectForKey:@"NAVBAR_COL"]];
[scanner scanHexInt:&b];
[scanner release];
self.navigationController.navigationBar.tintColor=[UIColor blackColor];
//self.navigationController.navigationBar.tintColor=UIColorFromRGB(b);
views = [[NSMutableArray alloc] init];
NSMutableArray *innerArray =[[NSMutableArray alloc] init];
[innerArray addObject:@"Login"];
txnlist = [[NSMutableArray alloc] init];
[txnlist addObject:@"RRLGN00"];
NSMutableDictionary *menu1Dict = [NSMutableDictionary dictionaryWithObject:innerArray forKey:@"MENU"];
[menu1Dict setObject:txnlist forKey:@"MENUKEY"];
[views addObject:menu1Dict];
Engine *myEngine = [Engine sharedInstance];
**[myEngine setTableview:self.tableView];**
[myEngine settableData:self.views];
[super viewDidLoad];
self.clearsSelectionOnViewWillAppear = NO;
self.contentSizeForViewInPopover = CGSizeMake(320.0, 600.0);
self.navigationItem.hidesBackButton = TRUE;
}*
I keep getting this error and i cannot figure out what is it that i am doing wrong. My nib file, i am using a split view controller. Root view controller that handles the menu and a detail view controller that handles the detail (obviously) . When I comment out this line [myEngine setTableview:self.tableView]; the app would run and i would not get the UIViewControllerHierarchyInconsistency error however the menu would not load as i am commenting it out. Someone please help me, i need this asap, my life depends on it. thanks again.
EDITED----
*- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[[Engine sharedInstance] setmenu_curr:@"RRLGN00"];
[[Engine sharedInstance] setProperties:[[NSMutableDictionary alloc]initWithDictionary:[NSMutableDictionary dictionaryWithContentsOfFile:[[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@"app.plist"]]]];
[[[Engine sharedInstance] properties] setObject:NSLocalizedString(@"FCDB_LANGID", nil) forKey:@"idLang"];
[[Engine sharedInstance] setUrl:[[[[Engine sharedInstance] properties] objectForKey:@"ENTITY_URL"] objectAtIndex:0]];
splashController = [[SplashViewController alloc]initWithNibName:@"SplashViewController" bundle:[NSBundle mainBundle]];
splashController.delegate=self;
[self.window addSubview:splashController.view];
[self.window makeKeyAndVisible];
return YES;
} - (void)hideSplash{ [splashController.view removeFromSuperview];
self.splitViewController =[[UISplitViewController alloc]init];
self.rootViewController=[[RootViewController alloc]init];
self.detailViewController=[[DetailViewController alloc]init];
UINavigationController *rootNav=[[UINavigationController alloc]initWithRootViewController:rootViewController];
UINavigationController *detailNav=[[UINavigationController alloc]initWithRootViewController:detailViewController];
//detailNav.navigationBarHidden=YES;
self.splitViewController.viewControllers=[NSArray arrayWithObjects:rootNav,detailViewController,nil];
self.splitViewController.delegate=detailViewController;
[window addSubview:self.splitViewController.view];
[self.window makeKeyAndVisible];
}*
I hear what you are saying but i think im doing something very simple wrong, or some simple adjustment. The above code is from my app delegate.
I checked this website out http://www.iriphon.com/2012/03/31/uncaught-exception-uiviewcontrollerhierarchyinconsistency-reason-child-view-controller-should-have-parent-view-controller-but-actual-parent-is-or-apples-new-uiviewcontroller-hierarc/
and i think it may have to do with what im doing. I may be wrong, if i am, please tell me.