2

NSAttributedStringペーストボードに書き戻したい があります。

ジェネラル NSPasteboardにはさまざまなタイプがあり、NSAttributedString アタッチメント付きには適合しますNSPasteboardTypeRTFD

ペーストボードに書き込む方法を知っています:

    NSData * __strong newContent = ... // how?
    NSPasteboard * __strong pboard = [NSPasteboard generalPasteboard];
    NSString * __strong type = NSPasteboardTypeRTFD;
    [pboard setData:newContent forType:type];

しかし、与えられたNSAttributedString2 つのRTF NSDataからどのように変換するのですか(これは、ペーストボードで読み取り可能な型に適合するはずです)。

4

2 に答える 2

5

これを行うことができますRTFDFromRange:documentAttributes:

NSAttributedString *text;
...
NSData *rtfd = [text RTFDFromRange:NSMakeRange(0, text.length)
                documentAttributes:nil];
于 2013-11-05T22:36:28.053 に答える
2

データをどうしたいですか、テキストだけが欲しいですか?
次に、次のようにして NSString に変換できます-string

編集:メソッドはカテゴリにあるため、見つかりませんでした: NSAttributedString Application Kit Additions

そこを指摘してくれた@CRDに感謝します。

が必要な辞書である -RTFDFromRange:documentAttributes:と述べているのは興味深いと思います。次に、次のように述べています。documentAttributes

ドキュメント レベルの属性がない場合、dict は nil になる可能性があります。

コンパニオンガイドはこちら

于 2013-11-05T21:42:54.213 に答える