Edited at

Realm メモ

初心者のメモです。

Realmでよく使うやつメモする。

設定。モデルの中身変えたらVewsionを更新する。Migrationしないとエラーになる。

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

// Override point for customization after application launch.
let config = Realm.Configuration(schemaVersion: 1)
Realm.Configuration.defaultConfiguration = config
return true
}

データの保存場所をみる

print(RLMRealm.defaultRealmPath())

データを全部消す。

do {

try realm.write {
realm.deleteAll()
}
} catch {
エラー処理
}

データ取得 (モデル名.self)でそのデータを取得できる。sortedでソートしたデータも可

do {

let realm = try Realm()
let dateResults = realm.objects(WeightModel.self).sorted(byKeyPath: "date")
} catch {
エラー処理
}

作成と更新

let result = realm.objects(WeightModel.self).filter("date = '\(date)'")

if result.count == 1 {
try realm.write {
result[0].weight = weight
result[0].alcohol = alcohol
}
} else if result.count == 0 {
try realm.write {
let WeightModels = WeightModel(value: ["date": date, "weight": weight, "alcohol": alcohol])
realm.add(WeightModels)
}
}