В своем приложении для документов я вложил в подкласс NSArrayController, на который я ссылался в MyDocument.xib, ограничивая его содержимое Owner.entries файла .
записи - это NSArray, который я представляю как атрибут класса MyDocument следующим образом:
@interface MyDocument : NSDocument {
NSArray *entries;
}
-(NSArray *)entries;
-(void)setEntries:(NSArray *)newEntries;
@end
Это прекрасно работает. Хорошо.
Теперь я разработал еще один .xib, CSVEntries.xib, который я открываю через NSMenuItem через NSWindowController, и снова, это работает гладко.
Я не могу понять, как заставить это новое окно отображать содержимое экземпляра MyDocument.entries в NSTableView.
Я пробовал много вещей, , но проблема в основном в том, что любой NSArrayController, который я помещаю в CSVEntries.xib, не может быть привязан к MyDocument.entries : Владелец файла CVSEntries.xib ссылается на что-то другое, а не MyDocument (что логично, я думаю).
Я также попытался добавить копию экземпляра NSArray в NSWindowController, который открывает CVSEntries.xib, но, поскольку окно get создается только тогда, когда пользователь нажимает на меню, я получил пустой массив.
Меня обыскивают в Интернете, но я не могу найти подходящий ответ, я просто хотел бы выяснить правильный способ решения этой проблемы, я уверен, что два окна могут взаимодействовать друг с другом, возможно, получая доступ к их общему родителю (экземпляр NSApplication )
Все вопросы новичка, я знаю:)
Обновление
Кажется, я понял, где искать, но все же не как. Я думаю, что я должен убедиться, что владельцем второго окна является MyDocument, но в NSWindowController initWithWindowNibName: owner: я не могу понять, как указать экземпляр MyDocument в качестве владельца. Указание его только в xib-файле Владелец файла кажется недостаточным.
Обновление 2
Хм ... Я начинаю думать, что мне нужно иметь два экземпляра NSWindowController, оба экземпляра которых создаются моим подклассом NSDocument (по умолчанию MyDocument). Если они установлены, возможно, оба NSWindowControllers будут иметь доступ к NSDray MyDocument.entries, а два файла xib Windows смогут быть связаны с Owner.entries файла.
Может кто-нибудь подтвердить это? Благодарю.