【RealmSwift】配列を扱う

RealmSwift で配列を扱う手順をまとめます。
少しだけ作業が必要です。

前提条件

例として、以下のようなメモデータのモデルを RealmDB で保存できるよう作りますー。

imageFilePaths という画像の保存パスを配列で管理することを想定しています。
例が分かりにくいというクレームは受け付けません ( ˘ω˘ )

方法

Arrayクラスは Realm では扱えないので、RealmSwift のListクラスを使用します。
Listクラスは Object(そのサブクラスも可)のみ格納できるので、まずは Object を定義します。

ここでは ImageFile というクラスを作成して、そのプロパティに path(String型)を定義しました。
これを使って RealmSwift で定義すると、以下のようになります。

Objective-Cランタイムではジェネリクスが使えないため、let で宣言、dynamic は不要です。

ちなみに RealmDB に画像(Data型)を保存することは可能ですが、16MB以上のデータを保存しようとすると、例外が投げられます/(^o^)\
String型も同様で、16MB以上のデータを保存することはできません。

さいごに

画像(Data型)に関しては検索もかけられないので、
データベースに保存するのは良くないかなって認識。

とりあえず配列が扱えるようになったと思うので、このへんで!

違うよ!とかこういう方法あるよ!ってのがあれば教えてください。
では( ¯·ω·¯ )

コメント