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()
oucreate()
.Esse comportamento é o mesmo que passar
update: false
paraadd()
oucreate()
.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
-
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
paraadd()
oucreate()
.Declaração
Swift
case all = 2