Какао 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
,