iOS 개발 RAC 학습 노트(8) 신호의 스케줄러 RACscheduler(스레드)
신호 스케줄러 RACscheduler(다중 스레드)
deliverOn
지난 편에서 RAC의 부작용에 대해 말했듯이 deliverOn은 내용 전달을 지정된 라인으로 전환하고 부작용은 여전히 지정된 라인에서 실행된다
//
-(void)createUpSignals{
RACSignal * signal = [RACSignal createSignal:^RACDisposable *(id subscriber) {
NSLog(@"sendTestSignal%@",[NSThread currentThread]);
[subscriber sendNext:@1];
[subscriber sendCompleted];
return [RACDisposable disposableWithBlock:^{
}];
}];
self.testSignal = signal;
}
//
// [RACScheduler scheduler] [RACScheduler mainThreadScheduler]
[[self.testSignal deliverOn:[RACScheduler scheduler]] subscribeNext:^(id x) {
NSLog(@"receiveSignal%@",[NSThread currentThread]);
}];
2016-09-02 09:48:59.697 Signal processing[1686:22894] sendTestSignal{number = 1, name = main}
2016-09-02 09:48:59.697 Signal processing[1686:24680] receiveSignal{number = 3, name = (null)}
[[[RACSignal createSignal:^RACDisposable *(id subscriber) {
NSLog(@"sendSignal%@",[NSThread currentThread]);
[subscriber sendNext:@1];
return [RACDisposable disposableWithBlock:^{
}];
}] subscribeOn:[RACScheduler scheduler]] subscribeNext:^(id x) {
NSLog(@"receiveSignal%@",[NSThread currentThread]);
}];
2016-09-02 09:54:47.819 Signal processing[1778:54504] sendSignal{number = 2, name = (null)}
2016-09-02 09:54:47.819 Signal processing[1778:54504] receiveSignal{number = 2, name = (null)}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.