Realmは、Realm 内のデータを整理するために使用される主要データ構造です。 Realm は、アプリケーション内で使用するオブジェクト(Realm オブジェクトと呼ばれる)と、オブジェクトを記述する追加のメタデータのコレクションです。 Realm オブジェクトを定義する方法については、「オブジェクトモデルの定義 」を参照してください。
Realm ファイル
Realm は、Realm 内のすべてのオブジェクトとタイプのバイナリ エンコード バージョンを単一の .realm
ファイルに保存します。 ファイルは、Realm を開くときに定義できる特定のパスにあります。 Realm Studio を使用すると、これらのファイルの内容を開いて表示、編集できます。
インメモリ Realm
また、Realm を完全にメモリ内で開くこともできます。この場合、 .realm
ファイルやそれに関連する予備ファイルは作成されません。 代わりに、SDK は Realm が開いている間にオブジェクトをメモリに保存し、すべての インスタンスが閉じられるとすぐにそれらを破棄します。
デフォルトRealm
Realm()またはRMRealmを呼び出すと、デフォルトの Realm が開きます。 このメソッドは、 default.realm
という名前のファイルにマップする Realm オブジェクトを返します。 このファイルはあります。
iOS: アプリのドキュメントフォルダー内
macOS: アプリのアプリケーション サポート フォルダー内
Tip
「デフォルトの Realm のオープン」を参照してください
デフォルトの Realm を開くには、「 デフォルトの Realm または ファイル URL で Realm を開く 」を参照してください。
予備 Realm ファイル
Realm は、次のように Realm ごとに追加のファイルを作成します。
Realm ファイルの拡張子は「realm」。例:
default.realm
: オブジェクト データが含まれています。ロックファイル、"lock" の拡張子を持つファイル。例:
default.realm.lock
: Realm 内のどのバージョンのデータがアクティブに使用されているかを追跡する。 これにより、クライアント アプリケーションによってまだ使用されているストレージ領域が Realm により再利用されるのを防止します。メモ ファイルの拡張子は "note" で、例:
default.realm.note
: スレッド間通知とプロセス間通知を有効にします。管理ファイル、"management" で呼び出されるファイル。例:
default.realm.management
: 内部状態マネジメント。
これらのファイルの削除は重要な影響を与えます。 For more information about deleting .realm
or auxiliary files, see: Delete a Realm
Realm ファイル パスの検索
Realm ファイルは、Realm を開くときに任意で定義できる特定のパスに配置されます。
// Get on-disk location of the default Realm let realm = try! Realm() print("Realm is located at:", realm.configuration.fileURL!)