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âmetro options: 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 usar subscribe(on:), a assinatura é realizada no agendador de destino e o editor emitirá a coleção durante a atualização. Ao usar receive(on:), a collection é convertida em ThreadSafeReference 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.