2019独角兽企业重金招聘Python工程师标准>>>
复制代码
1
2
3
4
5
6
7//Reactive cocoa: Stop a RACSignal after UIViewController is dealloc //启用一个RAC定时器 RACSignal *rac_viewWillDisappear = [self rac_signalForSelector:@selector(viewWillDisappear:)]; [[[RACSignal interval:10 onScheduler:[RACScheduler mainThreadScheduler]] takeUntil:rac_viewWillDisappear] subscribeNext:^(id x) { //Do what you need NSLog(@"--rac_willDeallocSignal"); }];
复制代码
1Q:【保留作业】有没有像oc一样的 [_timer fire];//立即执行的方法
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28【解题过程】【错误代码示范】 /*无效,viewdidiappear时不执行*/ /*无效,completed时也没回调*/ /*没用到,信号dispose*/ /*http://www.cnblogs.com/guoxiaoqian/p/4691035.html RAC的坑 [6.rac_willDeallocSignal不会sendNext,只会sendComplete] //错误 */ //这里要加takeUntil条件限制一下否则当控制器pop后依旧会执行 [[[RACSignal interval:2 onScheduler:[RACScheduler mainThreadScheduler]] takeUntil:self.rac_willDeallocSignal ] subscribeNext:^(id x) { NSLog(@"每两秒执行一次"); } completed:^{ NSLog(@"每两秒执行一次:completed"); }]; /* 持保留意见 https://github.com/SkyHarute/StudyForRAC */ //这里这样写只是为了给大家开拓一种思路,selector的方法可以应需求更改,即当这个方法执行后,产生一个信号告知控制器释放掉这个订阅的信号 RACSignal * deallocSignal = [self rac_signalForSelector:@selector(viewWillDisappear:)]; [[[[NSNotificationCenter defaultCenter] rac_addObserverForName:@"haha" object:nil] takeUntil:deallocSignal] subscribeNext:^(id x) { NSLog(@"haha"); }];
复制代码
1^_^ ^.^ ^=^ ^&^ ^!^
http://stackoverflow.com/questions/27561582/reactive-cocoa-stop-a-racsignal-after-uiviewcontroller-is-dealloc
转载于:https://my.oschina.net/onepieceios/blog/744880
最后
以上就是虚拟手机最近收集整理的关于【iOS】【ReactiveCocoa】[RACSignal interval]定时器的全部内容,更多相关【iOS】【ReactiveCocoa】[RACSignal内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复