« マスクにまつわるこの危機感を伴うモヤモヤへの解答 | トップページ | 我が町の民度を嘆く »

一応Swift基礎勉強の成果かと

 昨春、まだ新校舎にチャイムがなかったために急ぎ作ったチャイムアプリ。 macOSアプリ初挑戦とはいえド素人らしい永久ループにはまり、終了は強制終了するしかなかありませんでした。
 
 そのうち新校舎でもチャイムが鳴るように施設が改善されて必要性も無くなったのですが、今回のリモート授業ではZOOMの画面と音声共有を使って自宅にいる学生に授業開始を告げる役目が回って来ました。

 ちょうどその直前、自分の基礎勉強も兼ねたSwift Playgroundsを終えたばかりで、本当に永久ループを解決できないのか改めてXcodeでチャイムアプリの中身を久しぶりに開いてみると。
 なんてことはない、毎秒毎秒時刻判定のためにインスタンスを生んでいたTimerクラス自体に指定した時間毎に自動的にコールを繰り返す引数があるではないですか。

 Timer.scheduledTimer(withTimeInterval: 1, repeats: true, ...

 もちろんこれを使って永久ループの問題は解決し、終了時もごく普通にCommand+Qが使えるようになりました。 

Chime

 今になってみたら最初になんでこんな簡単なことに気がつかなかったんだろう、と首をひねるばかりですが、当時はとにかく新学期に間に合わせようと慌てていたのもありつつ、こういうさらりとコードがわかるようになったのは、やはりPlaygrounds(の「コードを学ぼう」)のおかげかと改めて基礎の重要性を痛感するやら感謝するやら。

 あと付け加えると、こいつの鐘を鳴らすと木魚の音が途絶えるのもインスタンスを複数立てることで簡単に解決しております。 こちらはもろSwiftでのクラス利用方法(文法)を理解した結果でした。
 
 う〜ん、なんだかとっても納得できた。

|

« マスクにまつわるこの危機感を伴うモヤモヤへの解答 | トップページ | 我が町の民度を嘆く »

iOS と Xcode」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« マスクにまつわるこの危機感を伴うモヤモヤへの解答 | トップページ | 我が町の民度を嘆く »