UpdatePolicy

@frozen
public enum UpdatePolicy : Int

Realm に追加または作成されるオブジェクトに、すでに存在するプライマリキーがある場合の操作。

  • 例外をスローします。 これは、 add()またはcreate()にポリシーが指定されていない場合のデフォルトです。

    この動作は、 update: falseadd()またはcreate()に渡すのと同じです。

    宣言

    Swift

    case error = 1
  • 新しい値と異なる既存のオブジェクト内のプロパティのみを上書きします。 これにより、変更通知では変更されたプロパティのみが報告され、同期マージ ロジックに影響します。

    変更されているプロパティがほとんどまたはまったくない場合は、これは よりも高速になります。 Realm ファイルに書き込まれるデータ量を減らします。 すべてのプロパティが変更されている場合は、 よりも遅くなる可能性があります。 (ただし、書き込まれるデータが増加することはありません)。

    宣言

    Swift

    case modified = 3
  • all

    既存のオブジェクト内のすべてのプロパティが変更されていない場合でも、新しい値で上書きします。 これにより、すべてのプロパティが変更されたことを報告する変更通知が表示され、同期マージ ロジックに影響します。

    この動作は、 update: trueadd()またはcreate()に渡すのと同じです。

    宣言

    Swift

    case all = 2