Совершенно новый к Какао и я пытаюсь выяснить, как скопировать NSAttributedString в область монтажа. Я выглядел в документах и не уверенным, если я, как предполагается, использую NSPasteboardItem или нет.
Вот то, что я должен скопировать регулярный NSString:
NSPasteboard *pb = [NSPasteboard generalPasteboard];
NSArray *types = [NSArray arrayWithObjects:NSStringPboardType, nil];
[pb declareTypes:types owner:self];
[pb setString:@"asdfasdf" forType:NSStringPboardType];
Как я устанавливаю NSAttributedString?
Спасибо
Вам нужен NSRTFPboardType или NSRTFDPboardType вместе с NSAttributedString's RTFFromRange: documentAttributes:
/ RTFDFromRange:
и setData
на картоне.
Что касается Snow Leopard, NSAttributedString (при включении AppKit) соответствует NSPasteboardWriting , поэтому вы можете просто сделать это:
[pb clearContents];
[pb writeObjects:arrayOfAttributedStrings];
Вы можете отправить NSArray arrayWithObject:
сообщение , если у вас есть только одна строка с атрибутами, которую вы хотите поместить на монтажный стол.
[Редактировать с 2013 года: Или используйте блестящий новый синтаксис @ [myAttributedString]
. Работает для любого количества объектов, хотя все они должны соответствовать NSPasteboardWriting в этом контексте.]
Это также относится к NSString. Найдите в заголовках AppKit «NSPasteboardWriting», чтобы найти все стандартные классы Какао, которые его поддерживают.