我试图覆盖newDocument:在我的Cocoa Document Based Application中。我有一个标准项目,当在菜单栏中单击New时,First Responder会收到操作。我的目标是在菜单栏中点击New时出现一个带有新文档配置的窗口(有点像Photoshop)。在阅读Apple Docs之后,我发现我需要覆盖newDocument:在NSDocumentController子类中。然后我设置一个配置窗口应该在调用newDocument:时出现。
使用我的NSDocumentContoller子类的最佳方法是什么?我可以在Interface Builder中拖出一个对象并将该方法连接到MainMenu栏,但我不确定这是不错的做法。我应该如何使用我的NSDocumentController作为我的MenuBar的新的第一响应者?
答案 0 :(得分:4)
NSDocumentController是一个单例,您必须使用方法[NSDocumentController sharedDocumentController]
访问您的子类始终,以便同意这一点
然后,您可以覆盖- (IBAction)newDocument:(id)sender
并按照您的喜好进行操作。
有点老了,但是当我需要子类化NSDocumentController时,我发现Seashore源代码非常有用
下图显示了XCode中的元素