🙌
caseless enumの活用
caseless enumとは
- caseがないenum定義のこと。
どういう時に使うのか
- structやclassで
static var
やstatic func
のみを持つ場合は、caselessなenumで定義する。 - 標準FrameworkのMemoryLayoutでも採用されている設計手法。
- SwiftLintのconvenience_typeで検出することも可能。
何が嬉しいのか
- structやclassだと意味のないインスタンスを生成不可にするためには
private init() {}
のように初期化子を隠蔽する必要があるが、そもそもenumにすればinitできないので解決する。 - 要は名前空間のためだけに定義するのであれば、caselessのenumが有用になる。
Discussion