[Swift]Realmでデータの永続化(続き)
前回の続きです。前回はRealmにてCRUD処理のCreateとReadについて紹介しましたが、今回は残りのUpdate、Deleteについて紹介します。
なお、Realmのインストール等は割愛します。
データの更新
import UIKit
import RealmSwift
class CategoryViewController: UITableViewController {
let realm = try! Realm()
var items: Results<Item>?
:
func updateItem(targetIndex: Int) {
if let item = items?[targetIndex] {
do {
try realm.write({
item.done = !item.done
})
} catch {
print("Error update item, \(error)")
}
}
}
}
データを更新したい場合は、更新対象のオブジェクトのプロパティをrealm.write内で更新すればOKです。簡単ですね。
データの削除
import UIKit
import RealmSwift
class CategoryViewController: UITableViewController {
let realm = try! Realm()
var items: Results<Item>?
:
func deleteItem(targetIndex: Int) {
if let item = items?[targetIndex] {
do {
try realm.write({
realm.delete(item)
})
} catch {
print("Error delete item, \(error)")
}
}
}
}
データを削除したい場合は、realm.deleteの引数に削除対象のオブジェクトを指定するだけです。これもとても簡単ですね。
終わりに
Realm使いやすい!
ただ、トランザクションの管理が未知なのでこれから勉強します。。。