NSPasteboard generalPasteboard返回零

时间:2012-09-19 09:27:33

标签: objective-c cocoa osx-mountain-lion appkit nspasteboard

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

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

我的代码来自Apple的NSPasteboard documentationNSPasteboard programming guide

NSPasteboard *pasteboard = [NSPasteboard generalPasteboard];

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

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

有什么东西可以让我无意中做到这一点吗?

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:1)

重新安装我的操作系统解决了我的问题。

我只能假设某个地方某个地方有时会被腐蚀,造成这个令人愤怒的问题。