Скопируйте UITextView в PasteBoard

Я пытаюсь скопировать мою "DescriptionLabel" в Картон. DescriptionLabel устанавливается как UITextView (я знаю, что имя немного сбивает с толку...). Тем не мение,

- (IBAction)copy:(id)sender {

    UIPasteboard *appPasteBoard = [UIPasteboard generalPasteboard];
    appPasteBoard.persistent = YES;
    [appPasteBoard setString:@"This text is being copied"];
    }

Строка в коде копируется, но мне не удается получить ее, копируя мой UITextView/DescriptionLabel. Это:

[appPasteBoard setString:_DescriptionLabel];

не работает.

Кто-нибудь из вас знает, что я могу сделать, чтобы это сработало? Бороться с этим уже несколько дней...

1 ответ

Решение

Ну, проблема в том, что вы используете setString: хранить UITextView, который является элементом управления UIKit, а не NSString, в монтажном столе. Что вы, вероятно, имеете в виду, чтобы сохранить его текстовое значение.

Objective-C не поддерживает неявные преобразования, такие как Scala или Swift. Решение простое, просто доступ к text Свойство явно:

[appPasteBoard setString:_DescriptionLabel.text];

Я призываю вас заглянуть в UIPasteboard документация для деталей относительно этого API: https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIPasteboard_Class/index.html

Другие вопросы по тегам