Как получить доступ к экземпляру NSArray, принадлежащему MyDocument, в другом xib? - PullRequest
1 голос
/ 17 мая 2011

В своем приложении для документов я вложил в подкласс 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 файла.

Может кто-нибудь подтвердить это? Благодарю.

1 Ответ

1 голос
/ 20 мая 2011

Я отвечаю на свой вопрос здесь, в основном заявляя, что я понял, что то, что я спрашиваю, очень сильно зависит от того, с чем связан Владелец файла. Дизайн, который я реализовал, был неправильным, и поэтому я изменяю его, чтобы достичь своей цели.

Спасибо всем в любом случае, даже нет ответов являются ответом:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...