Сохраните и извлеките строку NSAttributed с помощью NSTextAttachment в / из Pasteboard
Я имею NSAttributedString
с NSTextAttachment
, Я создал подкласс NSTextAttachment
(с реализованными методами кодирования / декодирования) и имеет свойство attachedView
так что я могу поставить любую точку зрения как NSAttachment
в приписанную строку. Проблема в том, что я не могу сохранить и получить вложение в / из UIPateboard
,
Любые предложения, как это можно сделать?
//Store
NSData *data = [[self.storage attributedSubstringFromRange:self.selectedRange] archivedData];
[[UIPasteboard generalPasteboard] setItems:@[[(id)kUTTypePlainText: attributedString.string],
[(id)kUTTypeData: data]]];
//Retrieve
NSAttributedString *attributedString = [[UIPasteboard generalPasteboard] loadAttributedString];
if (!attributedString) {
[super paste:sender];
return;
}
//Extension
@implementation NSAttributedString (Additions)
- (NSData *)archivedData {
return [NSKeyedArchiver archivedDataWithRootObject:self];
}
- (NSAttributedString *)unarchiveWithData:(NSData *)data {
return [NSKeyedUnarchiver unarchiveObjectWithData:data];
}
@end