我正在创建基于文档的简单应用程序。到目前为止,我已经实现了NSDocument子类Document
和NSWindowController子类ToolbarWindowController
。 ToolbarWindowController控制工具栏,该工具栏具有用于修改用户打开的图像的滑块。
我现在遇到的问题是在打开的图像上应用过滤器(修改图像):我不知道如何在ToolbarWindowController
中使用打开的图像作为源。
F.e。在Document
中打开图像时,可以在ViewController
中将其设置为makeWindowControllers
imageView:
- (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
属性来实现同一目的?它甚至可以那样工作吗?
答案 0 :(得分:3)
NSWindowController
具有document
属性。如果一切正确连接,该属性将指向拥有NSDocument
的{{1}}对象。