1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Swift4.2】EnumEnumerable が使えなくなっていた、、

Last updated at Posted at 2019-03-07

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版について追記しました。

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?