AppKit
2020년 6월 11일 수정
≡ 목차 (Table of Contents)
AppKit
은 macOS용 앱 UI 프레임워크 이름이다. Cocoa Framework의 실질적인 프레임워크 이름이기도 하다. 실질적으로 코코아 기반 앱을 제작할 때 임포트해야 하는 모듈 이름이다.
import AppKit
특징적으로 NeXTSTEP에서 발전해 온 관계로 클래스 이름 앞에 NS
prefix가 붙어있다. 예를 들어 뷰 클래스는 NSView
와 같은 이름을 가진다.
Cocoa Touch와 혼동하지 말자. Cocoa Touch은 iOS용 프레임워크이고 실질적인 이름으로 UIKit과 관련이 있다.
NSView 화면을 PNG로 캡처하기
아래의 코드로 특정 NSView 화면을 캡처해서 PNG 데이터로 얻을 수 있다.
func captureView(view: NSView) -> Data? { let rep = view.bitmapImageRepForCachingDisplay(in: view.bounds)! view.cacheDisplay(in: view.bounds, to: rep) return rep.representation(using: .png, properties: [:]) }
결과물을 NSImage
로 가공하고 싶다면 딱 적당한 생성자가 있다.
let image = NSImage(data: data)
결과물을 파일로 저장하고 싶다면 Data
에서 제공하는 API를 활용하자.
try! data?.write(to: fileURL)