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 apenas propriedades no objeto existente que sejam 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 poucas ou nenhuma das propriedades estiver mudando, isso será mais rápido do que .all e reduzir a quantidade de dados que devem ser gravados no Arquivo de Realm. Se todas as propriedades estiverem mudando, pode ser mais lento 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 elas não tenham sido alteradas. 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