久々にiOSアプリのコードを書く機会があったのですが、「KotlinのあれってSwiftではどう書くんだっけ?」となる場面が結構多かったので、順次まとめていこうと思います。
- Smart Cast
- nullチェックによる早期return
- when式
- 値に対応するenumの取得
- Sealed Class
- 遅延初期化
なお、シンプルな置換でおおむね完結するものについては、以下の表などをご参照ください。
Google Apps Scriptがいつの間にかV8ランタイムに対応し、新しいECMAScriptの構文が使えるようになっていました。
ちょうどGoogleカレンダーの予定をLINEに通知するスクリプトを書こうと思ったタイミングでこのことに気づいたので、新しく使えるようになったECMAScriptの構文を使いながらスクリプトを書いてみました。
タイトル通りの内容です。
結論から言うと、<merge>
タグのtools:parentTag
属性に追加先のレイアウトのLayoutを指定すればOKです。
前回の記事でawaitAll()
を使ったリスト操作の中で並列処理を実行した結果の待ち合わせについて書きました。
その中で、並列処理を実行するときに毎回map { async { hoge() } }
と書くのは辛いと思ったので、asyncAll()
という拡張関数を作りました。
タイトルが非常に分かりづらくて申し訳ないです🙇♂️
Kotlinのリスト操作の中でネットワーク通信のような時間のかかる処理を並列に実行したい場面があったのですが、Coroutinesを使ってその結果を待ち合わせる方法が最初分からなかったので、本記事はそのメモです。
本記事では、iOSではおなじみのHaptic Feedback(触覚フィードバック)をAndroidで実装する方法について記載しています。
「Android Dev Summit 2019」の動画で実装例が紹介されていたので、こちらを参考にしました。
Haptic FeedbackについてはMaterial Designの以下のページが参考になります。
(タイトルが長い…笑)
以下のようなレイアウトを作成するときにハマった話です。
左右に可変テキストがあり、テキストが長くなって画面に収まらなくなるときに左側の可変テキストの末尾が省略される仕様を想定しています。
(余談ですが、Layout Editorではandroid:ellipsize="end"
の指定は見た目に反映されないのですね…)