我正在尝试从作为插件加载到另一个程序中的 NSString 中将 NSBundle 复制到粘贴板。

出于某种原因,[NSPasteboard generalPasteboard] 返回 nil。

我的代码来自苹果的 NSPasteboard documentationNSPasteboard programming guide :

NSPasteboard *pasteboard = [NSPasteboard generalPasteboard];

// Outputs: (null)
NSLog(@"%@", pasteboard);

[pasteboard clearContents];
BOOL copiedToPasteboard = [pasteboard writeObjects:@[@"The string"]];

有什么我可能无意中做的事情导致这种情况吗?

最佳答案

我构建了一个最小的应用程序,它加载一个包并在每一步添加 [NSPasteboard generalPasteboard] 返回的值的日志记录。不幸的是,我无法重现这个问题。这是我得到的输出:

NUAppDelegate> init:<NSPasteboard: 0x100647740>
NUAppDelegate> awakeFromNib:<NSPasteboard: 0x100647740>
NUAppDelegate> applicationDidFinishLaunching::<NSPasteboard: 0x100647740>
Loading plugin
Plugin> init:<NSPasteboard: 0x100647740>
Plugin> someMethod:<NSPasteboard: 0x100647740>

如果没有更多细节,我不知道我们如何才能找到答案。你有一些我们可以下载或检查的代码吗?

关于objective-c - NSPasteboard generalPasteboard 返回 nil,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12491936/

10-12 01:55