AlertController

mac / swiftでは、 “\” ≠ ”¥”

.NET/C# では、バックスラッシュ “\” は、エンマーク”¥”で表示され、同じ意味ですが、mac / swift では、別物として扱われる。

例えば、
label.text = “\(sender.selectedSegmentIndex)” では、sender.selectedSegmentIndex が正しく評価されるが、
label.text = “¥(sender.selectedSegmentIndex)” では、
sender.selectedSegmentIndex が評価されず、文字列として扱われる。

\ の入力方法は、option キー + “¥”キー

AVPlayerViewController をコントローラとして、ビデオをリピート再生。

Windows 10 Updateにより、Let’s Note CF-SX1 が遅くなった

Windows 10 Updateにより、Let’s Note CF-SX1 が遅くなりました。 Let’s Note CF-SX1  は、だいぶ古いPCですが、今も現役で使っています。状況としては、何もアプリを実行していないのに、CPUが50%以上消費されており、マウスの入力がなかなか受け付けられない状況でした。最初、ソフトウェアの更新がバックグラウンドで実行されているのかと思いましたが、プロセスの状況をみると違うようです。

そこで、CF-SX1 のドライバーから、 Intel Dynamic Platform and Thermal Framework を再インストールしたら、復旧できました。

おそらく、熱の判定が誤っていて、割り込みがかかりまくって、処理が極端に遅くなっているのではないかと思います。デフォルトのドライバーだと、この設定が書き換えられてしまうのではないかと想像しています。

Swift でアナログクロックを作ってみた

.NET/C# からすると、全体の設計が違っているので、とても戸惑いました。最初は、UIViewに直接描画するのかと思いましたが、秒、分、時それぞれごとにCAShapeLayer に時計の針を描画して、レイヤーの原点を translateしてセンタリングして、さらに時間に合わせて rotate し、で重ね合わせる方法が良さそうです。秒針をスムースに動かすのであれば、Animation を適用すればOK。1

Swift でのタイマー

Timer

objcパターン

新しいパターン1

新しいパターン2

インターバルの単位は秒。0を指定した場合は、0.1mSec。

タイマーの停止:同一スレッド内から、Timer.invalidate()を呼び、RunLoopから削除する。

Windows で Mac のキーボード、マウスを使うときのmemo

ダウンロード – Boot Camp サポートソフトウェア 5.1.5769 からドライバーをダウンロードする。

次のドライバーをダウンロード。

AppleKeyboardInstaller64.exe

AppleWirelessMouse64.exe

BlueTooth で接続する。この時、いったんマウス、キーボードの電源をオフにしてから、再接続する。

mouseのホイールが逆なので、次を参考に逆にする。

Boot Camp上のWindows – スクロールをナチュラル(逆)方向に変更

SKEmitterNode

File -> New -> Fileから、SpriteKit Particle File を追加する。

パラメータを調整する。

CMMotionManager でモーションを取得

デバイスの傾きをCMMotionManagerで取得すれば、水準器みたいなことができる。