Valor
@frozen
public struct Value<Subscribable> : Publisher where Subscribable : RealmSubscribable, Subscribable : ThreadConfined
Um editor que emite um objeto ou collection cada vez que esse objeto é mutado.
-
Esse editor só pode falhar devido ao esgotamento de recursos ao criar o thread de trabalho usado para notificações de alteração.
Declaração
Swift
public typealias Failure = Error
-
Este editor emite o objeto ou coleção que está publicando.
Declaração
Swift
public typealias Output = Subscribable
-
Captura o
NotificationToken
produzido observando uma Realm Collection.Isso permite que você ignore a notificação ao executar um
Realm.write(withoutNotifying:)
. Você deve usar esta chamada se precisar escrever no banco de dados Realm e ignorar essa cadeia de observação específica. ONotificationToken
será salvo noKeyPath
especificado do bloco de observação configurado noreceive(subscriber:)
.Declaração
Swift
public func saveToken<T>(on object: T, at keyPath: WritableKeyPath<T, NotificationToken?>) -> ValueWithToken<Subscribable, T>
Parâmetros
object
O objeto em que o
NotificationToken
está gravado.keyPath
O KeyPath em que o
NotificationToken
é gravado.Valor de retorno
Um editor
ValueWithToken
. -
Especifica o agendador no qual executar operações de assinatura, cancelamento e solicitação.
Para editores do Realm, isso determina para qual fila as notificações de alteração subjacentes são enviadas. Se
receive(on:)
não for usado posteriormente, ele também determinará em quais elementos da fila recebidos do editor serão avaliados. Atualmente, apenas filas de despacho em série são suportadas e o parâmetrooptions:
não é suportado.Declaração
Swift
public func subscribe<S>(on scheduler: S) -> Value<Subscribable> where S : Scheduler
Parâmetros
scheduler
A fila de despacho serial na qual realizar a assinatura.
Valor de retorno
Um editor que se inscreve no agendador fornecido.
-
Especifica o agendador no qual realizar operações downstream.
Isso difere de
subscribe(on:)
na forma como ele é integrado ao ciclo de atualização automática. Ao usarsubscribe(on:)
, a assinatura é realizada no agendador de destino e o editor emitirá a coleção durante a atualização. Ao usarreceive(on:)
, a collection é convertida emThreadSafeReference
e entregue ao agendador de destino sem integração ao ciclo de atualização automática, o que significa que ela pode chegar algum tempo após a ocorrência da atualização.Em caso de dúvidas, você provavelmente quer
subscribe(on:)
.Declaração
Swift
public func receive<S>(on scheduler: S) -> RealmPublishers.Handover<`Self`, S> where S : Scheduler
Parâmetros
scheduler
A fila de despacho em série para receber valores.
Valor de retorno
Um editor que fornece valores ao agendador fornecido.