パフォーマンスとしては、CABasicAnimationとCAKeyframeAnimationが良かったため、今回はCABasicAnimationを元にアニメーションを実装しようと考えました。しかし、CABasicAnimationを扱う場合、いくつか使いにくい点があります。 1. Type-safeではない 例として、position.yをアニメーションしたい場合、対応する型はCGFloatですが、fromValueとtoValueがAny?型のため、予期せぬ型の変数を代入してもビルドは通ってしまいます。 let animation = CABasicAnimation(keyPath: "position.y") let strFromValue: String = "test" let strToValue: String = "test1" // ? Not correct v
![スター500越えのアニメーションライブラリ「Sica」の作成秘話 | CyberAgent Developers Blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/311c0f5add0abaad4423f32cd9e5c86d4b19969b/height=288;version=1;width=512/https%3A%2F%2Fdevelopers.cyberagent.co.jp%2Fblog%2Fwp-content%2Fuploads%2F2018%2F07%2Flogo.png)