0331
あいかわらず咳が出る。熱っぽい感じは特にないのであまり気にしていないが。でもすこしだけ気怠いな。
仕事はサードパーティライブラリのバージョン上げなどをやっていた。SwiftyUserDefaultsがv5になっていたんだけど、上げようとしたら既存実装が邪魔をして難しそうだったので諦めた。まあ古いバージョンとはいえ特に脆弱性があるわけでもないし、Swift 5でコンパイルが通る限りはPodsで使えばいいのだ。
あとAlamofireも5系になって結構変わったなと思った。時間に余裕があればそれに応じてこちらも実装を工夫するとかやってもよかったのかもしれないけど、あんまり気乗りがしないのでわりと素朴な対応をした。
夜は趣味コードを書いた。画像ダウンロード機構のキャンセルは、うまく動作していなかったのが単なる勘違いに起因するものだったことがわかったのでいいことになった。具体的には、キャンセル可能なGuaranteeを作ろうとしていたんだけど、Guaranteeは当然キャンセルされても適当にrecoverして何か返してくるので、呼び出し元にdoneが書いてあったらその先にも進んでしまうんですよね。こういうの、うまく共通化できないかな。こういう場面が多発したら考えよう(でもキャンセルが必要になる場面ってたぶん多くはない)。
あとアクティビティインジケータについても試作した。iPadOS13からは一つのアプリが複数のシーン?に出てくることが可能になった(ほんと?)ので、Windowが一つしかない前提ではコードが書けない。それを踏まえていろいろがんばったらおおむねいい感じに動くものができたので満足している。ただこれはライフサイクルに影響を与えるよな。具体的にはviewDidLoadでWebAPI呼び出しが書けない(そもそも書くべきではないという話はありそう)。
明日は何だっけ。既知の不具合とか直していくのと、今日読めなかったLISPを読む、と思う。