컨트롤러 클래스 중 하나에 인터페이스 NSItemProviderWriting
및 필요한 메소드를 구현해야합니다.
아주 간단한 구현은 yourString
붙여 넣을 문자열을 포함하는 경우처럼 보일 수 :
static var writableTypeIdentifiersForItemProvider: [String] {
return [ kUTTypeUTF8PlainText as String ]
}
func loadData(withTypeIdentifier typeIdentifier: String, forItemProviderCompletionHandler completionHandler: @escaping (Data?, Error?) -> Void) -> Progress? {
completionHandler(yourString.data(using: .utf8), nil)
return nil
}
당신은 kUTTypeUTF8PlainText
의 정의를 가져 오기위한 import MobileCoreServices
을 추가해야합니다.
일반적으로이 구현에서는 위의 예제 코드에서 호출하는 컨트롤러를 사용합니다.
UIPasteboard.general.setObjects(objects: [ self ],
localOnly: true,
expirationDate: Date(timeIntervalSinceNow: 120))
2 질문 : 그럼, 당신은 배열의 값으로로 사용한다 1) 스위프트가 kUTTypeUTF8PlainText''에 대해 알고하지 않는 것, 2) 어디'yourString'는'loadData'에서에서 오는? 그것은 내가 VC에 로컬 변수에 문자열을 할당한다고 가정하고 있습니까? –
[UTI 유형] (https://developer.apple.com/library/content/documentation/Miscellaneous/Reference/UTIRef/Articles/System-DeclaredUniformTypeIdentifiers.html)은 'MobileCoreServices'프레임 워크에 정의되어 있습니다. 변수'yourString'는 텍스트를 붙이기위한 자리 표시 자일뿐입니다. 필요에 따라 정의해야합니다. – clemens
도움 주셔서 감사합니다. –