Я столкнулся со странной проблемой, связанной с файлом XIB в моей структуре.Этот файл XIB содержит NSWindow
, NSTableView
и две кнопки, которые все подключены через розетки.TableView и кнопки работают как положено, но NSWindow
всегда (null)
.
Выход окна подключен и XIB загружается правильно , поэтому я действительно удивлен, что это не работает для этого конкретного экземпляра.
Я загружаю XIB следующим образом: BOOL success = [NSBundle loadNibNamed:@"SomeXIB" owner:self];
Затем я пытаюсь изменить окно:
[window setLevel:NSModalPanelWindowLevel];
[window center];
[window makeKeyAndOrderFront:self];
NSLog(@"Window: %@",window);
Оператор NSLog
всегда возвращает (null)
и ни один изописанные выше методы ничего не делают, окно появляется только потому, что установлен Visible At Launch
, и не будет иначе.(что доказывает, что XIB загружен нормально)
Я что-то упустил?
Редактировать:
Вот все, что я делаю с окном:
BOOL success = [NSBundle loadNibNamed:@"BrowserPrompt" owner:self];
if (success == NO)
{
NSLog(@"Couldn't load XIB.");
return NO;
}
[[self delegate] pickerWillShow:self];
[window setLevel:NSModalPanelWindowLevel];
[window center];
[window makeKeyAndOrderFront:self];