Xcode10対応
Swift4.2が登場してからかなりお世話になっていたCaseIterable
これ自体はかなり助けられていたのだが、、
2019/03以降のXcode10対応が必須となって、保守していたアプリをXcode10に対応させる必要が生じた、、
Xcode10対応について
Xcode9.4.1からXcode10.1でビルドしたが、、まさかのEnumEnumerableのCasesが取得できない、、という自体が発生。
影響範囲を抑えた修正をしたかったが、方法が見当たらなかったので、CaseIterableへの変更にて対応した
もし、なにか情報いただけましたら、教えてください。
Xcode v10.1 にはしたいけれど、 Swift v4.2 にはすぐにはできないというケースの場合
Xcode 10 から hashValue の扱いが変わっていて、紹介されている EnumEnumerable が動作しません。
stackoverflowの記事が参考になります。hashValue を使わないで実現している方法の紹介です。
参考資料
Swift4.0→4.2でEnumEnumerableが不要になった
変更履歴
2019/03/10 @AnzNetJp の助言により、EnumEnumerableのXcode10版について追記しました。