#objective-c #clipboard #nspasteboard
#objective-c #буфер обмена #nspasteboard
Вопрос:
возможно, это была долгая ночь, но я не могу понять, как проверить буфер обмена на наличие строк
Я читал документацию NSPasteboard..
может ли кто-нибудь мне помочь?
Комментарии:
1. Это могло бы помочь: mobileorchard.com /…
Ответ №1:
вам нужно использовать следующий метод с stringForType с ключом NSPasteboardTypeString, чтобы прочитать строковое значение из буфера обмена.
- (NSString *)stringForType:(NSString *)dataType
.
NSPasteboard* myPasteboard = [NSPasteboard generalPasteboard];
NSString* myString = [myPasteboard stringForType:NSPasteboardTypeString];
Чтобы сделать это для iOS с UIPasteboard, используйте следующий код:
UIPasteboard *thePasteboard = [UIPasteboard generalPasteboard];
NSString *pasteboardString = thePasteboard.string;
NSLog(@"%@", pasteboardString);
Комментарии:
1. Хотя NSPasteboard доступен в OS X версии 10.0 и более поздних версиях, существуют некоторые проблемы с использованием NSPasteboardTypeString в OS X версии 10.5 и более ранних версиях. В версии 10.6 многие типы картонов с новыми UTI и измененными константами. Это, вероятно, древняя история, но ее стоит упомянуть. Отличный ответ, спасибо!
Ответ №2:
Ниже вы можете найти версию Swift 4 как для Mac, так и для iOS.
Mac
let pasteboard = NSPasteboard.general
let copiedString = pasteboard.string(forType: .string)
iOS
let pasteboard = UIPasteboard.general
let copiedString = pasteboard.string // might be nil value, is an optional variable