从 NSWindowController 子类访问 NSDocument?
Accessing NSDocument from NSWindowController subclass?
我正在创建基于文档的简单应用程序。到目前为止,我已经实现了 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
properties/variables 并在那里创建一个 NSImage
属性 来修改打开的图像吗?或者我可以访问 Document
属性来实现相同的目的吗?它甚至可以那样工作吗?
NSWindowController
有一个 document
属性。如果一切都正确连接,属性 将指向拥有 NSWindowController
.
的 NSDocument
对象
我正在创建基于文档的简单应用程序。到目前为止,我已经实现了 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
properties/variables 并在那里创建一个 NSImage
属性 来修改打开的图像吗?或者我可以访问 Document
属性来实现相同的目的吗?它甚至可以那样工作吗?
NSWindowController
有一个 document
属性。如果一切都正确连接,属性 将指向拥有 NSWindowController
.
NSDocument
对象