복사/붙여넣기 관련해서 자세한 내용을 몇 개의 포스팅으로 정리한 바 있는데, 이 글이 워낙 예전 글이라 일부 내용을 수정합니다. (2019.01.24)
페이스트보드에 문자열을 복사하는 법
- 페이스트보드를 만든다.
- 페이스트보드의 내용을 지운다.
페이스트보드의 타입을 선언해준다.- 페이스트보드에 문자열을 쓴다.
아래는 예제 코드( Xcode 9 이상). 기본적인 Foundation 타입들은 모두 페이스트 보드에 복사(쓰기)가 가능한 타입으로 준비되어 있다.
NSPasteboard *pboard = [NSPasteboard generalPasteboard];
[pboard clearContents];
[pboard setString: stringToBeCopied forType: NSPasteboardTypeString];
// 혹은
[pboard writeObjects:@[stringToBeCopied]];
Swift에서는 모든 기본 타입값들을 Object로 간주한다.
let pboard = NSPasteboard.general
pboard.clearContents()
pboard.writeObeject(["hello"])
아래는 앨캐피탄 이전의 API인데, 그냥 기록차원에만 남겨둔다.
-(void) copyStringIntoPboard: (NSString *)stringToBeCopied {
NSPasteboard *pboard = [NSPasteboard generalPasteboard];
[pboard clearContents];
[pboard declareTypes: @[NSStringPboardType] owner: self];
[pboard setString: stringToBeCopied forType: NSStringPboardTypeString];
}
자세한 내용은 Pasteboard Programming Guide를 참고