Swift3

Swift3

Swift3 Cocoa マウスカーソルを隠す

SwiftとCocoaでマウスカーソルを隠す方法をドキュメントから探した。3通りの方法があった。CGDisplayHideCursor(id)NSCursor.hide()NSCursor.setHiddenUntilMouseMoves(...
Swift3

Swift3 非同期処理はOperationQueueで行う

Swiftで非同期処理するときはOperationQueueを使う。時間のかかる処理はバックグラウンドでやらせておきたい。let oq = OperationQueue()oq.addOperation { // バックグラウンドで行われる...
Swift3

Swift3 Cocoa NSTrackingAreaを使ってView上のマウスの移動を検出する

cocoaとswiftでtracking areaの設定とイベント捕捉。方法はいくつかあると思いますが、そのうちの1つをメモ。大雑把な流れは次の通り。下地のView(マウスを捕捉したい部分のView)をカスタムViewにする上のカスタムVi...
Swift3

Swift3 if letのオブジェクトのプロパティへは代入できない

昔作ったmacosのアプリケーションを、リファクタリングも半分兼ねてDocument-Basedで書き直している。swiftでよく使う、nilかもしれないオブジェクトのアンラップ:if let obj = nilableobj { // e...
Swift3

Swift3 負の数の剰余演算で負の数が返ってくるのは仕様

マイナスの剰余演算について情報が少なかったのでメモ。目次Swift3の剰余演算Swift3の%演算子回避策Swift3の剰余演算Swiftでは%演算子がある。一般的には剰余演算と言われるものだ。しかし、Swiftの%演算子は負の数に適用する...
Swift3

Swift3 MenuItemのキーバインド(KeyEquivalent)をコードから指定する

StoryBoardからキーバインド(KeyEquivalent)を設定できるが、コードからも設定できる。目次とりあえず使えればいい修飾キーも使いたい複数の修飾キーを使いたいとりあえず使えればいいmenu itemのReferencing ...
Swift3

Swift3 ViewControllerでキーイベント(keyDown)を捕捉する

ViewControllerでキーイベントを捕捉するのはよくあると思う。以前はSwift2の時に書いたが、Swift3ではkeyDownをoverrideするだけではダメなようだ。参考: osx - Swift - Capture keyd...