Неверный доступ к правому элементу BarButtonItem & "macosx_kill_inferior_safe" - PullRequest
0 голосов
/ 07 февраля 2011

Нажмите правую кнопку панели, Показано NCFSString нераспознанный селектор .. при перезапуске я не получаю полезную трассировку стека.

 -(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;

Странно, я переключил его на leftBarButtonitem и получаю "NSURL nextIntroStage" ... но я нигде не использую NSURL в своем приложении. Конечно, какая-то проблема с памятью, но что?

Единственная важная вещь, о которой я могу думать - это мой делегат приложения, которым я занимаюсь

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

1 Ответ

0 голосов
/ 07 февраля 2011

Метод addSubview: сохраняет только добавленное вами представление, а не контроллер навигации. Освободив этот контроллер навигации с [nc release], вы по сути уничтожаете навигационный контроллер этого представления.

Переместите объявление для nc в ваш .h, инициализируйте его как обычно в вашем didFinishLaunchingWithOptions и отпустите в вашем dealloc.

...