Мой модальный диалог вылетает (Какао) - PullRequest
1 голос
/ 13 сентября 2011

Мой код ниже падает, если у меня есть код в windowWillClose:, который выпускает Мой MyWindowController, в противном случае он работает нормально.

Я тестирую его на Mac OS 10.6.8. Я использую XCode 3.1.3.

Что я сделал не так?

Кажется, что окно не утилизируется до того, как я выпущу MyWindowController, потому что происходит сбой в методе NSTableView.

Мой обработчик кнопок звонит [NSApp stopModalWithCode:0];

MyDialog()
{
    MyWindowController* controller = [[MyWindowController alloc] init];
    [controller showWindow:controller];
    NSWindow* window = [controller window];
    [NSApp runModalForWindow:window];
    [window close];
}

В моем MyWindowController:

- (void)windowWillClose:(NSNotification*)notification 
{
    [self autorelease];
}

1 Ответ

0 голосов
/ 13 сентября 2011

Вы выпускаете 'self' в windowWillClose - это кажется неправильным.

Конечно, что-то подобное должно быть сделано в dealloc?

-(void)dealloc
{
  [super dealloc];
}  

Кроме того, вы можете лучше использовать контроллер автоматического освобождения, когдаизначально выделено?

...