Política de atualização

@frozen
public enum UpdatePolicy : Int

O que fazer quando um objeto adicionado ou criado em um Realm tiver uma chave primária que já existe.

  • Lançar uma exceção. Este é o padrão quando nenhuma política é especificada para add() ou create().

    Esse comportamento é o mesmo que passar update: false para add() ou create().

    Declaração

    Swift

    case error = 1
  • Substitua somente as propriedades no objeto existente que são diferentes dos novos valores. Isso resulta em notificações de alteração relatando apenas as propriedades que foram alteradas e influencia a lógica de mesclagem de sincronização.

    Se nenhuma ou nenhuma propriedade estiver mudando, isso será mais rápido do que .all e reduzirá a quantidade de dados que deverá ser gravada no Arquivo de Realm. Se todas as propriedades estiverem mudando, ele poderá ser mais lento do que .all (mas nunca resultará na gravação de mais dados).

    Declaração

    Swift

    case modified = 3
  • all

    Substitua todas as propriedades no objeto existente pelos novos valores, mesmo que eles não tenham sido alterados. Isso resulta em notificações de alteração relatando todas as propriedades como alteradas e influencia a lógica de mesclagem de sincronização.

    Esse comportamento é o mesmo que passar update: true para add() ou create().

    Declaração

    Swift

    case all = 2