gpt4 book ai didi

cocoa - 将 NSAttributedString 复制到粘贴板

转载 作者:行者123 更新时间:2023-12-03 16:06:59 26 4
gpt4 key购买 nike

对于 Cocoa 来说是全新的,我正在尝试弄清楚如何将 NSAttributedString 复制到粘贴板。我查看了文档,不确定是否应该使用 NSPasteboardItem。

这是我必须复制常规 NSString 的内容:

NSPasteboard *pb = [NSPasteboard generalPasteboard];
NSArray *types = [NSArray arrayWithObjects:NSStringPboardType, nil];
[pb declareTypes:types owner:self];

[pb setString:@"asdfasdf" forType:NSStringPboardType];

如何设置 NSAttributedString?

谢谢

最佳答案

从 Snow Leopard 开始,NSAttributedString(由 AppKit 启动时)符合 NSPasteboardWriting ,所以你可以简单地这样做:

[pb clearContents];
[pb writeObjects:arrayOfAttributedStrings];

您可以send NSArray an arrayWithObject: message如果您只想将一个属性字符串放在粘贴板上。

[从 2013 年开始编辑:或者使用 Shiny 的新 @[ myAttributedString ] 语法。适用于任意数量的对象,尽管在此上下文中它们仍然需要全部符合 NSPasteboardWriting。]

这也适用于 NSString。在 AppKit header 中搜索“NSPasteboardWriting”以查找支持它的所有标准 Cocoa 类。

关于cocoa - 将 NSAttributedString 复制到粘贴板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2581407/

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