Доступ к NSDocument из подкласса NSWindowController? - PullRequest
0 голосов
/ 07 ноября 2018

Я создаю простое приложение на основе документов. До сих пор я реализовал подкласс NSDocument, который является Document, и подкласс NSWindowController, который является ToolbarWindowController. ToolbarWindowController управляет панелью инструментов, которая имеет ползунки для изменения открытого изображения пользователя.

Сейчас у меня проблема с применением фильтров (изменение изображения) к открытому изображению: я не могу понять, как использовать открытое изображение в качестве источника в ToolbarWindowController.

F.e. когда я открываю изображение в Document, я могу установить его как ViewController imageView, в makeWindowControllers:

- (BOOL)readFromData:(NSData *)data ofType:(NSString *)typeName error:(NSError **)outError {
    image = [[NSImage alloc] initWithData:data];
    return YES;
}
- (void)makeWindowControllers {
    NSStoryboard* const storyboard = [NSStoryboard storyboardWithName:@"Main" bundle:nil];
    NSWindowController* const windowController = [storyboard instantiateControllerWithIdentifier:@"Document Window Controller"];
    [[((ViewController *)[windowController contentViewController]) imageView] setImage:image];

    [self addWindowController: windowController];
}

Могу ли я как-то получить доступ к моим ToolbarWindowController свойствам / переменным и создать там свойство NSImage для изменения открытого изображения? Или я могу получить доступ к Document свойствам для достижения того же самого? Это вообще так работает?

1 Ответ

0 голосов
/ 07 ноября 2018

NSWindowController имеет свойство document. Если все подключено правильно, это свойство будет указывать на объект NSDocument, которому принадлежит NSWindowController.

...