RealmSwiftの忘備録。
タイトルの通り、
RealmSwiftで指定したオブジェクトを全削除する汎用的なメソッドを作った。
環境
Swift4.2
Cocoapods 1.5.3
RealmSwift 3.13.1
メソッド
こちらが良くない例
Hoge.swift
/** realmDBから、RealmオブジェクトAのデータをすべて削除 */
func deleteObjectAData() {
let realm = try! Realm()
try! realm.write {
realm.delete(ObjectA.self))
}
}
/** realmDBから、RealmオブジェクトBのデータをすべて削除 */
func deleteObjectAData() {
let realm = try! Realm()
try! realm.write {
realm.delete(ObjectB.self))
}
}
func hoge() {
// RealmオブジェクトAのデータを全削除する
deleteObjectAData()
// RealmオブジェクトBのデータを全削除する
deleteObjectBData()
}
以下、改善案
Hoge.swift
/** realmDBから、指定したオブジェクトデータをすべて削除 */
func deleteObjectData(objectType: Object.Type) {
let realm = try! Realm()
try! realm.write {
realm.delete(objectType.self))
}
}
func hoge() {
// RealmオブジェクトAのデータを全削除する
deleteObjectData(objectType: ObjectA.self)
// RealmオブジェクトBのデータを全削除する
deleteObjectData(objectType: ObjectB.self)
}