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. Consulte Realm.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?

Disponível onde Self: ProjectionObservable

  • 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

Disponível onde Self: ObjectBase

  • 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