ProjectionChangesetWithToken
public class ProjectionChangesetWithToken<T, P> : Publisher where P : ProjectionObservable, P : ThreadConfined
ProjectionChange를 방출하는 출판사입니다.
관찰된 프로젝션 이 수정될 때마다
receive(on:)
및 subscribe(on:)
는 이 출판사에서 직접 호출할 수 있으며, .threadSafeReference()
호출은 중간 변환이 있는 경우에만 필요합니다. subscribe(on:)
를 사용하는 경우 항상 파이프라인의 첫 번째 작업이어야 합니다.
objectChangeset()
함수를 사용하여 이 출판사를 생성합니다.
-
이 게시자는 ProjectionChange
관찰된 프로젝션 을 수정하는 쓰기 트랜잭션 (write transaction) (write transaction) 후 Realm 을 새로 고칠 때마다 어떤 프로젝션 과 해당 프로젝션 의 속성이 변경되었는지를 나타냅니다. 선언
Swift
public typealias Output = ObjectChange<P>
-
이 게시자는 ObjectChange의
.error
사례를 통해 오류를 보고합니다.선언
Swift
public typealias Failure = Never
-
구독, 취소 및 요청 작업을 수행할 스케줄러를 지정합니다.
Realm 게시자의 경우 기본 변경 알림이 전송되는 대기열을 결정합니다. 이후에
receive(on:)
을(를) 사용하지 않으면 게시자로부터 받은 대기열 요소가 평가되는 대기열도 결정됩니다. 현재 직렬 디스패치 대기열만 지원되며options:
매개변수는 지원되지 않습니다.선언
Swift
public func subscribe<S>(on scheduler: S) -> ProjectionChangesetWithToken<T, P> where S : Scheduler
매개변수
scheduler
구독을 수행할 직렬 디스패치 대기열입니다.
반환 값
지정된 스케줄러에서 구독하는 출판사입니다.
-
다운스트림 작업을 수행할 스케줄러를 지정합니다.
이는 자동 새로 고침 주기와 통합되는 방식이
subscribe(on:)
와 다릅니다.subscribe(on:)
사용하는 경우 대상 스케줄러에서 구독이 수행되고 게시자는 새로 고침 중에 컬렉션을 내보냅니다.receive(on:)
을 사용하는 경우 컬렉션이ThreadSafeReference
로 변환되고 자동 새로 고침 주기에 통합되지 않고 대상 스케줄러에 전달되므로 새로 고침이 발생한 후 일정 시간이 지나면 컬렉션이 도착할 수 있습니다.확실하지 않은 경우 다음을 수행할 수 있습니다.
subscribe(on:)
선언
Swift
public func receive<S>(on scheduler: S) -> DeferredHandoverProjectionChangeset<ProjectionChangesetWithToken, T, S> where T : ProjectionObservable, T : ThreadConfined, T == P, S : Scheduler
매개변수
scheduler
값을 수신할 직렬 디스패치 대기열입니다.
반환 값
지정된 스케줄러에 값을 전달하는 출판사입니다.