ProjectionChangesetWithToken
public class ProjectionChangesetWithToken<T, P> : Publisher where P : ProjectionObservable, P : ThreadConfined
Um editor que emite ProjectionChange
cada vez que a projeção observada é modificada
receive(on:)
e subscribe(on:)
pode ser chamado diretamente nesse editor, e chamar .threadSafeReference()
só é necessário se houver uma transformação intermediária. Se subscribe(on:)
for usado, ele deverá ser sempre a primeira operação no pipeline.
Crie este editor utilizando a função objectChangeset()
.
-
Este editor emite uma ProjectionChange
indicando qual projeção e quais propriedades dessa projeção foram alteradas cada vez que um Realm é atualizado após uma transação de gravação que modifica a projeção observada . Declaração
Swift
public typealias Output = ObjectChange<P>
-
Este editor relata um erro por meio do caso
.error
de ObjectChange.Declaração
Swift
public typealias Failure = Never
-
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) -> ProjectionChangesetWithToken<T, P> 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) -> DeferredHandoverProjectionChangeset<ProjectionChangesetWithToken, T, S> where T : ProjectionObservable, T : ThreadConfined, T == P, 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.