Учебное пособие / руководство по копированию и вставке текста в формате utf-8 в и из картона OSX / буфера обмена

#objective-c #clipboard #copy-paste

#objective-c #буфер обмена #копировать-вставить

Вопрос:

В настоящее время я добавляю поддержку буфера обмена в свой графический интерфейс API. Он вводит и выводит данные в формате UTF-8 в виде строки std.

Теперь мне нужно добавить поддержку OSX, но у меня почти нет опыта работы с Objective-C. Есть ли какое-то учебное пособие, которое могло бы показать взаимодействие с std::string, преобразование из utf-8 в то, что использует osx изначально, затем копирование его в буфер обмена и наоборот?

Спасибо

Я просто хочу иметь возможность брать std-строку в кодировке utf-8 и копировать ее в буфер обмена osx, а также иметь возможность копировать некоторый текст из чего-то вроде textedit и вставлять его в мое приложение в виде строки UTF-8.

Ответ №1:

Класс string — это NSString в Cocoa

NSString initWithUTF8String для создания строки cocoa из символа UTF-8*

NSString UTF8String для наоборот

Для простой вставки

http://www.cocoadev.com/index.pl?CopyAndPaste

 NSString *string = @"String to be copied";
NSPasteboard *pasteBoard = [NSPasteboard generalPasteboard];
[pasteBoard declareTypes:[NSArray arrayWithObjects:NSStringPboardType, nil] owner:nil];
[pasteBoard setString:string forType:NSStringPboardType];
  

Комментарии:

1. Спасибо! Знаете ли вы, как получить строку и в картонной?