未分類

Realmでデータを更新または追加する方法

投稿日:

モデルにプライマリキーを指定しているなら、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)でも追加できるが更新も同時に行いたいなら上記の書き方がよい。

参考:【Swift5】Realmでデータを管理する
プライマリキーを使ってオブジェクトを作成・更新する

-未分類

執筆者:

関連記事

no image

キーボードでtextFieldが隠れないようにする

画面下にtextFieldやtextViewを配置すると、キーボード出現時に隠れてしまうことがある。 キーボード出現と一緒に、textFieldの位置を上げることで解決。 キーボード出現時にtextF …

no image

ファイル作成時のサブクラスとは

新しいファイル作成時にサブクラスを設定できる。 サブクラスはどこのクラスを継承するのかを決める。 通常なら、TableViewControllerのデリゲートメソッドを使おうとするとプロトコルやデリゲ …

XMLパースで使うRSSのURLの調べ方

各サイトのRSS用URLを調べたい。 //XMLパース let urlString = “https://assets.wor.jp/rss/rdf/sankei/affairs.rdf” //←この …

no image

AVPlayer()で動画を使う方法

AVPlayer()で動画を扱える。 1.AVFoundationをインポートする。 import AVFoundation 2.コードを書く //インスタンス生成 var player = AVPl …

3Dオブジェクトを効率的に作る

  平面を4つ作成して、位置と回転を調整することで立方体を作成する。 全ての平面のアンカーポイントを立方体の中心に持っていくことで、位置はいじらず回転だけで作れる。このようにより効率的な作成 …