let taskToUpdate = tasks[indexPath.row]
try! localRealm.write {
taskToUpdate.content = "수정한 내용"
taskToUpdate.diaryTitle = "수정한 제목"
tableView.reloadData()
}
var tasks: Results<UserDiary>!
try! localRealm.write {
tasks.setValue(Date(), forKey: "writeDate")
tasks.setValue("새로운 제목", forKey: "diaryTitle")
tableView.reloadData()
}
➡️ 아예 새로운 객체로 덮어씌우는 느낌, 언급되지않은 내용들은 빈 값으로 채워진다.
try! localRealm.write {
let update = UserDiary(value: ["_id": taskToUpdate._id, "diaryTitle": "새로운 제목"])
localRealm.add(update, update: .modified)
tableView.reloadData()
}
try! localRealm.write {
localRealm.create(UserDiary.self, value: ["_id": taskToUpdate._id, "diaryTitle": "새로운 제목"], update: .modified)
tableView.reloadData()
}
데이터를 삭제하는 과정을 구현하는 것은 어렵지 않다.
다음은 테이블뷰에서 스와이프를 통해 해당 row 및 데이터를 삭제하는 코드이다.
localRealm.delete(삭제할 object)
코드를 통해 데이터를 삭제할 수 있다.
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {
try! localRealm.write {
localRealm.delete(tasks[indexPath.row])
tableView.reloadData()
}
}