Прошу прощения, если это кажется тривиальным, но я уверен, что его разумный вопрос задать здесь. Я много работал над классом NSWindowController
, и кажется, что единственный способ получить его для полной работы (для моей цели) - это создать новый файл xib вместе с ним.Как использовать класс NSWindowController
Мой вопрос в том, было бы целесообразным работать с MainMenu.xib
и классом NSWindowController
и инстанцированным контроллером объекта, чтобы получить взаимодействие с содержимым окон. До сих пор без xib выполнялись только следующие сегменты кода: awakeFromNib
. Я хочу сохранить пространство xib-файла, сложность и легко интегрировать его с более крупным проектом. Просто fyi это не проект на основе документов. Должен ли я выбрать другой подкласс NSObject, отличный от NSWindowController
? Или это невозможно?
код, необходимый для запуска на класс будет полностью работать следующим образом:
- (void) tableViewSelectionDidChange:(NSNotification *)notification
{
NSInteger selectedRow = [logsTableView selectedRow];
if ([directoryList containsObject:[directoryList objectAtIndex:selectedRow]])
{
NSString *logContent = [NSString stringWithContentsOfFile:[directoryList objectAtIndex:selectedRow]
encoding:NSUTF8StringEncoding
error:NULL];
if (logContent != NULL)
{
[logsTextView setString:logContent];
} else
{
[logsTextView setString:@"No permission to read log"];
}
}
}
Почему, по вашему мнению, добавление отдельного файла .xib значительно увеличит размер или сложность или затруднит интеграцию? Я сомневаюсь, что любая из этих проблем действительна. – Caleb
ОК, возможно, существенно не зависит от размера приложения, а от использования ресурсов, я имею в виду, что xib-файлы должны загружаться отдельно по отдельности? Я уверен, что кумулятивная загрузка xib-файла намного эффективнее. –
Обычно более эффективно иметь отдельные xib. Если все находится в одном xib, тогда все в этом xib загружается при загрузке xib. Загрузка Xib/nib - это все или ничего. Вы ничего не спасаете, избегая xib в своем проекте. В большинстве приложений довольно много. – uchuugaka