[kotlin] Realmでenum型を値としたモデルを作る方法 [Android]

kotlin

公開日: 

Realmでenum使ったモデルを作りたかったのでその方法のご紹介

sponcer link

How to support Enums

ヒントはこちらにありました。

cf: Enums support #776 – realm/realm-java

 

実態は_paymentMethodで、実際に使うときはpaymentMethodにアクセスしているみたいですね。

しかし、私の場合、EnumをIntにして使っていたのですが、上記のままではアクセスしたときに落ちてしまいました。

valueOfがどうやらうまく動いてない感じでした。

How to support Enums on Int

ということで、Intバージョンのモデルの作成方法のご紹介。

ヒントはこちらにありました。

kotlinでenum classを使う

数字からEnum型を取り出すにはfilterとかかけてうまくやらないとだめみたいです。

なんかちょっと手間ですね。

ということで、Int版の方法で書いたモデルがこちら

こんな感じでうまくできました

 

まとめ

RealmでEnum対応はできるけどちょっと手間がかかってめんどくさいかもしれない。

でも、やっぱり値をちゃんと指定できてバグがなくせるのならいいかもしれない。

  • このエントリーをはてなブックマークに追加
  • Pocket
PAGE TOP ↑