【Realm】
Realmでテーブル(モデル)を作成する方法
モデルクラスの作成とテーブル定義
投稿日 2021/02/04 更新日 2021/09/26
こんにちは。当サイトの管理者「元木皇天」です。
今回はRealmでテーブルを作成する方法について解説します。
環境
OS:MacOS Big Sur
Xcode:バージョン12.3
Swift:バージョン5.3
Realm:バージョン10.5.1
やりたいこと
SwiftUIでRealmデータベースを使ってテーブル(モデル)を作成する。
テーブル(モデル)の作成
Realmでテーブルを作成するにはモデルクラスを作成します。
一般的なデータベースのように「CREATE TABLE」SQL文は使用せず、モデルクラスを作成するだけで、自動的にテーブルが作成され流のがポイントです。
そして、作成したモデルクラスの中にカラム名とデータの型を記述することで、テーブルが作成されます。
なお、まだRealmをSwiftに導入できてない場合は 以下のリンクに導入手順を記載していますので参考にしてください。
それでは実際に作成してみましょう。
新規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コードのように省略可能です。
変数宣言時に記述している@objcやdynamic と言った特殊な書き方については次項で解説します。
なお、ここでは記載しませんが、INSERTやSELECTなどを行う際には、このモデルクラスのインスタンスを作成して、 インスタンスのメソッドを使用することでそれぞれの処理が行えます。
以下に実際に作成したXcodeの画面を載せておきますので、何かの参考にしていただけたらありがたいです。
データ型
Realmで使用できるデータ型と書き方は以下のようになっています。
こちらの表はRealm公式ドキュメントに記載されているものです。
こちらにリンクを貼っておきますのでよかったら参考にしてみてください。
まとめ
以上でRealmを使用してテーブルを作成する方法についての解説を終わります。
テーブル(モデル)の作成についてまとめると以下のようになります。
・Realmでテーブル作成するにはモデルクラスを作成する。
・モデル内にカラムとなる変数を宣言する。
・変数の書き方については公式ドキュメントを参考にする。