开发者

Bad Access on a rightBarButtonItem & "macosx_kill_inferior_safe

开发者 https://www.devze.com 2023-02-09 03:15 出处:网络
Pressinsg the right bar button, Showed NCFSString unrecognized selector.. on restarting, I get n开发者_如何学运维o helpful stack trace.

Pressinsg the right bar button, Showed NCFSString unrecognized selector.. on restarting, I get n开发者_如何学运维o helpful stack trace.

 -(void)nextIntroStage{
_introStage++;
if (_introStage < _maxIntro) {
    [self showIntroPicture];
} else {
    [self finishedIntro];
}

}

 -(void)viewDidLoad {
[super viewDidLoad];
_introStage = 0;
_maxIntro = 3;

UIBarButtonItem *nextButton = [[UIBarButtonItem alloc] initWithTitle:@"Next" 
                                                               style:UIBarButtonItemStyleBordered 
                                                              target:self
                                                              action:@selector(nextIntroStage)];
self.navigationItem.rightBarButtonItem = nextButton;

Strange, switched it to leftBarButtonitem and am getting "NSURL nextIntroStage".. but I'm not using an NSURL anywhere in my app. Some kind of memory issue, sure, but what?

Only relevant thing I can think of is in my app delegate I'm doing

    UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:viewController];
[window addSubview:nc.view];
[window makeKeyAndVisible];
[nc release];


The addSubview: method only retains the view you have added, not the navigation controller. By releasing that navigation controller with [nc release], you are essentially destroying that view's navigationController.

Move the declaration for nc to your .h, initialise it as usual in your didFinishLaunchingWithOptions and release it in your dealloc.

0

精彩评论

暂无评论...
验证码 换一张
取 消