Я пытаюсь загрузить Nib из конструктора C ++ с помощью Objective C ++. Я искал и нашел достаточно примеров, чтобы собрать код, но он не отображает окно. Или любые окна в этом отношении.
Вот пример конструктора:
JokeSystem::JokeSystem() : fileSystem("/Library/Application Support/Jokes/")
{
try
{
randSystem = new RandSelect<std::string>
(fileSystem.getAllFileContents("%\n"));
}
catch (std::ifstream::failure)
{
NSWindowController * errorWindowControl = [[NSWindowController alloc]
initWithWindowNibName:@"ErrorWindow"];
[errorWindowControl showWindow: nil];
}
}
Цель этого конструктора - загрузить содержимое каталога в строку. То, что я пытаюсь сделать, это показать окно ошибки, когда файлы не открываются.
ErrorWindow.nib имеет одно окно с кнопкой OK и NSTextView
для ошибки, я установил NSWindowController
в кончике и подключил его к окну.
Моей единственной ссылкой было то, что большинство примеров показывают это [errorWindowControl showWindow: self]
;
вместо showWindow: nil
, но поскольку это конструктор C ++, у него нет self
и this
не работает.
Если это имеет значение, этот конструктор вызывается из awakeFromNib
метода MainMenu.nib
основного NSObject
.
Спасибо