Отправить массив строк в NSPasteBoard

Как лучше всего отправить массив строк или чисел на монтажный стол?

Я пытался использовать [pasteBoard writeObjects:], но похоже, что для этого мне нужно создать подкласс NSArray, он запрашивает протокол.

Может быть, архивирование и разархивирование или другие идеи? Спасибо, Хосе.


person the Reverend    schedule 15.03.2011    source источник


Ответы (2)


Сначала преобразуйте массив в строку.
Затем запишите его на монтажный стол.

NSMutableArray *array = [[NSMutableArray alloc]initWithObjects:@"First Line",@"Second Line",nil];
NSPasteboard * pasteBoard = [NSPasteboard generalPasteboard];
NSString * string = [array componentsJoinedByString: @"\n"];
[pasteBoard declareTypes:[NSArray arrayWithObject:NSStringPboardType] owner:nil];
[pasteBoard setString:string forType:NSStringPboardType];
person Anne    schedule 15.03.2011

Вы можете добавить категорию в NSString, чтобы добавить строки в монтажный стол:

@implementation NSString (PasteboardGoodies)
- (void) sendToPasteboard
{
        [[NSPasteboard generalPasteboard] 
            declareTypes: [NSArray arrayWithObject: NSStringPboardType]
            owner:nil];
        [[NSPasteboard generalPasteboard]
            setString: self
            forType: NSStringPboardType];
} // sendToPasteboard

@end // PasteboardGoodies
person the wolf    schedule 15.03.2011