Отправить массив строк в NSPasteBoard - PullRequest
1 голос
/ 15 марта 2011

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

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

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

Ответы [ 2 ]

2 голосов
/ 15 марта 2011

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

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];
1 голос
/ 15 марта 2011

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

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

@end // PasteboardGoodies
...