2016-04-28 6 views
0

Ich führe Wartungsarbeiten an einer App durch. XCode 7.3 mit iOS 9.3 gibt mir einen Fehler, den ich noch nie zuvor gesehen habe:iOS 9 Schwacher Verweis auf Instanz von UINavigationController

"Kann keine schwache Referenz auf Instanz (0x15243a00) der Klasse UINavigationController. Es ist möglich, dass dieses Objekt wurde überfrei, oder ist in der Prozess der Deallokation. "

Der säumige Code in meinem AppDelegate ist folgender:

#pragma mark - Setup Storyboard and Side Menu 

- (UINavigationController *)navigationController { 

UIStoryboard* sb = [[UIStoryboard alloc]init]; 

if (IS_IPAD) { 
    sb = [UIStoryboard storyboardWithName:@"MainStoryboard_iPad" bundle:nil]; 
} 
else { 
    sb = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil]; 
} 

UIViewController* vc = [sb instantiateViewControllerWithIdentifier:@"principalView"]; 

return [[UINavigationController alloc] initWithRootViewController:vc]; 
} 

- (MFSideMenu *)sideMenu { 

SideMenuViewController *sideMenuController = [[SideMenuViewController alloc] init]; 
UINavigationController *navigationController = [self navigationController]; 

MFSideMenuOptions options = MFSideMenuOptionMenuButtonEnabled|MFSideMenuOptionBackButtonEnabled 
|MFSideMenuOptionShadowEnabled; 
//MFSideMenuOptions options = MFSideMenuOptionMenuButtonEnabled|MFSideMenuOptionShadowEnabled; 
MFSideMenuPanMode panMode = MFSideMenuPanModeNavigationBar|MFSideMenuPanModeNavigationController; 

MFSideMenu *sideMenu = [MFSideMenu menuWithNavigationController:navigationController 
              sideMenuController:sideMenuController 
                 location:MFSideMenuLocationLeft 
                 options:options 
                 panMode:panMode]; 

sideMenuController.sideMenu = sideMenu; 

return sideMenu; 
} 

- (void) setupNavigationControllerApp { 

self.window.rootViewController = [self sideMenu].navigationController; //HERE IS WHERE I AM DETECTING THE APP CRASHING 
[self.window makeKeyAndVisible]; 
} 

Wo finde ich den starken Verweis auf die Instanz einrichten?

Antwort

0

Nachdem er eine Weile mit meinem UINavigationController Objekt Hantieren, kam ich mit dieser Lösung:

- (void) setupNavigationControllerApp { 

__strong UINavigationController *test = [self sideMenu].navigationController; 

self.window.rootViewController = test; 
[self.window makeKeyAndVisible]; 
} 
Verwandte Themen