gpt4 book ai didi

objective-c - 在 Cocoa 中使用 NSPrintOperation

转载 作者:行者123 更新时间:2023-12-03 16:44:34 24 4
gpt4 key购买 nike

我正在编写一个基于文档的 Mac OSX 应用程序,并且正在阅读有关使用 NSPrintOperation 的教程(默认情况下,立即在我的应用程序中按 print 会出现错误:

   printOperationWithSettings:error: is a subclass responsibility but has not been overridden.

所以我被告知使用以下内容:

    - (NSPrintOperation *)printOperationWithSettings:(NSDictionary *)ps error:(NSError **)e;
{
NSPrintInfo *printInfo = [self printInfo];
NSPrintOperation *printOp = [NSPrintOperation printOperationWithView:MyView
printInfo:printInfo];
return printOp;

(其中 MyView 是我想要打印的 View 的名称。我的问题是我在哪里命名该 View ?在 Interface Builder 中?我尝试了“self”,但引发了错误。我”我还在学习 cocoa,所以我很困惑。Interface Builder 中的实例只是 NSView 的,并且被命名为 View(不是唯一的)。有帮助吗?

最佳答案

在文档的 .h 文件中,添加以下内容:

@interface MyDocument : NSDocument {
IBOutlet NSView *myView;
}

@end

(如果您实际上有一个 NSView 的自定义子类,或者您打算打印的 View 是一种更特殊的 View (例如,NSTableView),您可能会将类型更改为该类型,而不是通用的 NSView)。

然后,在 Interface Builder 中的 nib 文件中,您很可能按住 Control 键并从“文件所有者”对象拖动到要打印的 View 。当您看到突出显示的 View 并放开时,您应该会看到一个弹出菜单,您可以在其中选择myView。现在您已经连接好了电线,可以这么说,这样您就可以在代码的其余部分中引用该特定 View 。

关于objective-c - 在 Cocoa 中使用 NSPrintOperation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4721198/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com