Mac でアナログ時計のようなデスクトップアプリケーションを作成しようとしています。(Xcode 8 + Swift 3)
短針や長針などのPNG画像を重ね合わせて描画したいのですが、Swift自体初めてで正しい方法が分かりません。

まず NSView を拡張したクラスを作り、draw() メソッドをオーバーライドすることにし、ファイルパスから画像を読み込み、コンテキストを使って描き込もうと考えました。

画像の読み込み

let image = NSImage(contentsOfFile: path as String);

描画処理

class MyView: NSView {

    override var isFlipped: Bool { return true }

    override func draw(_ dirtyRect: NSRect) {
        super.draw(dirtyRect)
        let bounds = NSRect(x: 0, y: 0, width: 100, height: 100);
        let context = NSGraphicsContext.current()?.cgContext;
        context.draw(image: self.image!, in: bounds)
    }
}

省略してありますが大きな流れは上記のとおりです。
読み込んだ image は NSImage ですが、 context.draw() の引数は CGImage でなければならないためエラーになっているように見えます。(Argument labels '{image:, in:}' do not match any available overloads)

image!.draw(in: bounds);

context を使わず上のようにすれば描画自体はできます。ただ回転処理などもする予定なので CoreGraphics を使っておいたほうが良いのではと思っています。(このあたりもよくわかっていません)

こういったケースでは通常どのようにすれば良いのでしょうか?


追記

NSViewの拡張クラスに isFlipped = true を追加