NSDocument窗口控制器和插座实例化

时间:2011-07-26 19:24:44

标签: objective-c cocoa nstextview nswindowcontroller document-based

我对文档窗口控制器的实例似乎是一个奇怪的问题。我有一个基于文档的应用程序,其自定义窗口控制器来自NSDocument主类的重写makeWindowControllers方法:

- (void)makeWindowControllers
{
     docWinController = [[DocumentWindowController alloc] initWithWindowNibName:@"MainDocument" owner:self];
     [self addWindowController:docWinController];
}// end makeWindowControllers

主应用程序窗口包含一个NSTextView对象,文件所有者(上面的窗口控制器)中有相应的插座。我有一个通过菜单项调用的动作,应该设置文本视图textStorage对象的内容。

现在,当发件人是例如窗口中的按钮但当发件人是菜单项时不起作用时,该操作按预期工作。我希望是一个实例化问题,但令人费解的是在行动中提供以下一行:

[[[textView textStorage] mutableString] appendFormat:@"Some text...%@\n", self];

返回两个不同的窗口控制器实例ID,具体取决于发送方(接口按钮或菜单项)。在一种情况下(菜单项),NSLog吐出:

-[DocumentWindowController myAction:] [L119]: Some text...<DocumentWindowController: 0x100195870>

在另一种情况下(按钮):

-[DocumentWindowController myAction:] [L119]: Some text...<DocumentWindowController: 0x113e72120>

我做错了什么?

0 个答案:

没有答案