Какао beginSheet: didEndSelector выдавая ошибку

Я загружаю лист в свой основной файл.xib, лист является панелью, и у меня нет проблем с отображением или закрытием листа, но при закрытии я получаю сообщение об ошибке:

2012-02-21 11:10:12.142 CollectionTest2[23277:10b] *** -
[AppController customSheetDidClose:returnCode:contextInfo:]: unrecognized selector sent to instance 0x359c00

Вот мой код:

/*Sheet Methods*/

- (void)showCustomSheet: (NSWindow *)window { 

    [NSApp beginSheet: panFilenameEditor modalForWindow: window modalDelegate: self didEndSelector: @selector(customSheetDidClose:returnCode:contextInfo:) contextInfo: nil];
}

- (IBAction)closeCustomSheet:(id)sender {

    [panFilenameEditor orderOut:self];
    [NSApp endSheet:panFilenameEditor];
}

- (void) customSheetDidClose   { 

    NSLog(@"sheet did close");
} 

1 ответ

Решение

В вашем showCustomSheet метод, вы говорите лист для вызова селектора customSheetDidClose:returnCode:contextInfo: на вашем контроллере приложения. Но нет такого метода.

Есть два решения:

  • Либо пройти @selector(customSheetDidClose) в вашем звонке beginSheet:modalForWindow:modalDelegate:didEndSelector:contextInfo:,
  • Или переименуйте свой customSheetDidCloseMethod в - (void)customSheetDidClose:(NSWindow *)sheet returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo,
Другие вопросы по тегам