получить строку из nspasteboard

#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