ThreadConfined
public protocol ThreadConfined
objeto de tipos que estão em conformidade com ThreadConfined
podem ser managed por um Realm, o que os tornará vinculados a uma instância Realm
específica do thread. Os managed objeto devem ser explicitamente exportados e importados para serem passados entre threads.
Managed objeto em conformidade com este protocolo podem ser convertidas em uma referência segura de thread para transporte entre threads passando para o construtor ThreadSafeReference(to:)
.
Observe que somente os tipos definidos pelo Realm podem estar em conformidade com este protocolo, e definir novas classes que tentam estar em conformidade com ele não as fará funcionar com ThreadSafeReference
.
-
O Realm que managed o objeto ou
nil
se o objeto não for gerenciado.Objetos não gerenciados não estão confinados a um thread e não podem ser passados para métodos que esperam um objeto
ThreadConfined
.Declaração
Swift
var realm: Realm? { get }
-
Indica se o objeto não pode mais ser acessado porque agora é inválido.
Declaração
Swift
var isInvalidated: Bool { get }
-
Indica se o objeto está congelado.
Objeto congelados não estão confinados ao thread de origem. Formar um
ThreadSafeReference
para um objeto congelado é permitido, mas é improvável que seja útil.Declaração
Swift
var isFrozen: Bool { get }
-
Retorna um snapshot congelado deste objeto.
Ao contrário dos objetos ativos normais do Realm, a cópia congelada pode ser lida de qualquer thread, e os valores lidos nunca serão atualizados para refletir as novas gravações no Realm. As collection congeladas podem ser query como qualquer outra Realm collection. Objeto congelados não podem ser mutados e não podem ser observados para notificações de alteração.
Objetos de Realm não gerenciados não podem ser congelados.
Aviso
Manter um objeto congelado por um longo período enquanto executa a transação de escrita no Realm pode fazer com que o Arquivo de Realm cresça para tamanhos grandes. ConsulteRealm.Configuration.maximumNumberOfActiveVersions
para obter mais informações.Declaração
Swift
func freeze() -> Self
-
Retorna uma referência ativa (mutável) deste objeto. Retornará a si mesmo se for chamado em um objeto já ativo.
Declaração
Swift
func thaw() -> Self?
-
bind(_:
Método de extensão) Crie um
Binding
para uma determinada propriedade, permitindo leituras e gravações transacionadas automaticamente nos backstage.Este é um método de conveniência para visualizações SwiftUI (por exemplo, TextField, DatePicker) que exigem que um
Binding
seja transmitido. O SwiftUI lerá/gravará automaticamente a partir da vinculação.Declaração
Swift
@MainActor public func bind<V>(_ keyPath: ReferenceWritableKeyPath<Self, V>) -> Binding<V> where V : _Persistable, V : Equatable
-
bind(_:
Método de extensão) Crie um
Binding
para uma determinada propriedade, permitindo leituras e gravações transacionadas automaticamente nos backstage.Este é um método de conveniência para visualizações SwiftUI (por exemplo, TextField, DatePicker) que exigem que um
Binding
seja transmitido. O SwiftUI lerá/gravará automaticamente a partir da vinculação.Declaração
Swift
@MainActor public func bind<V>(_ keyPath: ReferenceWritableKeyPath<Self, V>) -> Binding<V> where V : _Persistable, V : Equatable