モデルにプライマリキーを指定しているなら、Realm().add(_:update:)を使って、オブジェクトがすでに存在する場合は更新、存在しない場合は新しく追加というように、追加または更新を一度に行うことができる。
RealmSwiftの最新版だと、ドキュメントから変更している。
realm.add(self, update: true)
// ↓
realm.add(self, update: .modified)
try! realm.write {
task.title = titleTextField.text!
task.date = dateString
realm.add(self.task, update: .modified)
}
realm.add(task)でも追加できるが更新も同時に行いたいなら上記の書き方がよい。