を無視私の主な質問は:
は、モデルが新しいから作成されているときにのみ使用されているレルムモデルのデフォルト値を指定する方法はあります、レルムが自動的にrealm.add(thing, update: true)
コールここでレルムは、更新してオブジェクトを追加 - 欠損値に
からモデルを更新コンテキストのためのいくつかの情報だときには
は私がアルを引っ張る輸入スクリプトを持っている...無視されますAPIからのデータの大部分を領域にインポートします。
let thing = SomeThing(value: [
"id" : jsonData["id"].int!,
"title" : jsonData["title"].string!,
"system" : system
])
try! realm.write {
realm.add(thing, update: true)
}
と私SomeThing
モデルは、次のようになります:すべてのループを無視し、relavantない構造を入れ子に、私は基本的にこれを持って
class SomeThing : Object {
dynamic var id = 0
dynamic var title = ""
dynamic var system : System?
dynamic var favourited = false
override static func primaryKey() -> String? {
return "id"
}
}
favourited
ブールは、APIによって提供されていませんユーザーがオブジェクトをお気に入りにすると更新されます。しかし、モデルのデフォルトはfalseであるため、レルムが存在することが判明した場合は、favourited
をfalse
に戻して値を更新します。
私が知っているのは、領域からオブジェクトを引っ張って自分自身(それが存在すれば)を更新するので、私は手作業で何が更新されるのかを制御できます。物事の100年代または1000年代になるので、私はむしろこの1つの問題のためだけにオブジェクトを引き出すのをやめようと思います。
ありがとうございます。プライマリキーを使用するので、オブジェクトを追加するためにrealmに指示するときに、プライマリキーが存在する場合はそれを代わりに更新します。私は遅いものを(想像してみる)最初にデータベースからオブジェクトを引き抜くのを避けようとしていました。私は 'realm.create'がそれを解決することを発見しました! – TRG