【Realm】

Realmでテーブル(モデル)を作成する方法

モデルクラスの作成とテーブル定義

投稿日 2021/02/04 更新日 2021/09/26


こんにちは。当サイトの管理者「元木皇天」です。

今回はRealmでテーブルを作成する方法について解説します。

環境
OS:MacOS Big Sur
Xcode:バージョン12.3
Swift:バージョン5.3
Realm:バージョン10.5.1

参考文献:軽量・高速モバイルデータベース Realm入門

やりたいこと

SwiftUIでRealmデータベースを使ってテーブル(モデル)を作成する。

テーブル(モデル)の作成

Realmでテーブルを作成するにはモデルクラスを作成します。

一般的なデータベースのように「CREATE TABLE」SQL文は使用せず、モデルクラスを作成するだけで、自動的にテーブルが作成され流のがポイントです。

そして、作成したモデルクラスの中にカラム名とデータの型を記述することで、テーブルが作成されます。

なお、まだRealmをSwiftに導入できてない場合は 以下のリンクに導入手順を記載していますので参考にしてください。

【Realm】SwiftUIにRealmを導入する方法

それでは実際に作成してみましょう。

新規Swiftファイルを作成して、そこにモデルクラスを作成します。

今回は例として、ユーザの情報を保存するためのテーブルを想定して、簡単なモデルクラスを作成します。以下が今回作成する内容です。

Swiftファイル名
・User

テーブル(モデル)名
・User

カラム名とデータの型
・userID : Int
・userName : String

新規作成したUser.swiftファイルに、以下のテーブルを作成するコードを記述してください。

import Foundation
import RealmSwift

class UserTable: Object{
    //ユーザID
    @objc  dynamic var ID: Int = 0
    //ユーザ名
    @objc  dynamic var userName: String = ""
}

ポイントとしてはimport RealmSwiftを記述することと、 各カラムは変数を宣言して作成するというところです。

また、今回の例では分かりやすいようにデータの型を記述していますが、 通常のSwiftコードのように省略可能です。

変数宣言時に記述している@objcdynamic と言った特殊な書き方については次項で解説します。

なお、ここでは記載しませんが、INSERTやSELECTなどを行う際には、このモデルクラスのインスタンスを作成して、 インスタンスのメソッドを使用することでそれぞれの処理が行えます。

以下に実際に作成したXcodeの画面を載せておきますので、何かの参考にしていただけたらありがたいです。

テーブル(モデル)の作成コード

データ型

Realmで使用できるデータ型と書き方は以下のようになっています。

Realmで使用できるデータ型一覧

こちらの表はRealm公式ドキュメントに記載されているものです。

こちらにリンクを貼っておきますのでよかったら参考にしてみてください。

Realm公式ドキュメント

まとめ

以上でRealmを使用してテーブルを作成する方法についての解説を終わります。

テーブル(モデル)の作成についてまとめると以下のようになります。


・Realmでテーブル作成するにはモデルクラスを作成する。

・モデル内にカラムとなる変数を宣言する。

・変数の書き方については公式ドキュメントを参考にする。

参考文献・おすすめ文献