Я создаю простое приложение на основе документов. До сих пор я реализовал подкласс 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
свойствам для достижения того же самого? Это вообще так работает?