iOSのアプリ開発時に設定画面で使用したRealmについてまとめました。
Realm Database
Realm Databaseは、SQLiteと違いSQL文は使用せずにデータの追加等を行います。
Realm Databaseを使用する場合、DB用にファイルを作成しデータの追加等を行います
DBの作成
Objectを継承させて、カラムを追加します。
カラムの追加には初期値の入力が必要になります。
RealmDB.swift
import UIKit
import RealmSwift
//Relam
class GPSConfig: Object {
//Int型
@objc dynamic var column1 = 0
//String型
@objc dynamic var column2 = ""
}
データの追加
realm.add(RealmDB(value: object)) でDBにデータを追加できます。
let realm = try! Realm()
let object = RealmDB()
object.column1 = "data1"
object.column2 = 1
try! realm.write {
realm.add(RealmDB(value: object))
}
データの更新
登録したデータを変更する場合、以下のようにします。
firstで最初に登録したデータを取得できます。
let realm = try! Realm()
let object = realm.objects(RealmDB.self).first
try! realm.write {
object?.object2 = 2
}
データの削除
realm.delete(object) で指定したデータを削除することができます。
データをしてする際は、filterで特定のデータを取得できます。
let realm = try! Realm()
let object = realm.objects(RealmDB.self).filter("column1 == \"data1\"")
try! realm.write {
realm.delete(object)
}
カラムを追加した場合
DBにカラムを追加した場合、そのままだとエラーになるため、スキーマバージョンを上げる必要があります。
_ = Realm.Configuration(
schemaVersion: 1,
migrationBlock: { migration, oldSchemaVersion in
//if (oldSchemaVersion < 1) {}
})