美文网首页
(IOS)RAC常用方法浅谈

(IOS)RAC常用方法浅谈

作者: rightmost | 来源:发表于2020-04-25 05:48 被阅读0次

oc版pod:pod 'ReactiveObjC'

1.Button 点击方法

[[self.button rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(__kindofUIControl*_Nullablex) {

}];

2.监听TeXField 输入

[_userNameTF.rac_textSignal subscribeNext:^(NSString*_Nullablex) {

    NSLog(@"textField.text == %@",x);

}];

[[_userNameTF.rac_textSignal filter:^BOOL(NSString *_Nullablevalue) {

    returnvalue.length >=4;

 }]

 subscribeNext:^(NSString*_Nullablex) {

     NSLog(@"%@",x);

}];

3.便利数组字典

NSArray *arr = @[@"1", @"2", @"3", @"4", @"5"];

[arr.rac_sequence.signal subscribeNext:^(id  _Nullablex) {

    NSLog(@"遍历数组 %@",x);

}];

NSDictionary *dic = @{@"name":@"yangBo", @"age":@"19"};

[dic.rac_sequence.signal subscribeNext:^(RACTuple *_Nullablex) {

    NSLog(@"遍历字典 %@",x);

}]

4.通知 可省略此方法里的清除通知

[[[NSNotificationCenter defaultCenter] rac_addObserverForName:UIKeyboardDidShowNotification object:nil] subscribeNext:^(idx) {

    NSLog(@"键盘弹起");

}];

[[[NSNotificationCenter defaultCenter] rac_addObserverForName:@"postData"object:nil]subscribeNext:^(NSNotification * notification) {

    NSLog(@"%@",notification.name);

    NSLog(@"%@",notification.object);

}];

5.代理

// 监听点击了Cell里的button点击事件  button的点击方法是buttonAction:

[[cell rac_signalForSelector:@selector(buttonAction:)] subscribeNext:^(id  _Nullablex) {

    NSLog(@"点击了button%@",x);

}];

UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"RAC"message:@"RAC TEST"delegate:selfcancelButtonTitle:@"CANCEL"otherButtonTitles:@"other",@"1111",@"2222",nil];

[[selfrac_signalForSelector:@selector(alertView:clickedButtonAtIndex:)fromProtocol:@protocol(UIAlertViewDelegate)]subscribeNext:^(RACTuple *tuple) {

    NSLog(@"tuple%@",tuple);

}];

[[alertView rac_buttonClickedSignal]subscribeNext:^(idx) {

    NSLog(@"%@",x);

}];

6.定时器

[[RACScheduler mainThreadScheduler]afterDelay:3schedule:^{

    NSLog(@"3秒后执行一次");

}];

//每隔两秒执行一次

//这里要加takeUntil条件限制一下否则当控制器pop后依旧会执行

[[[RACSignal interval:2onScheduler:[RACScheduler mainThreadScheduler]] takeUntil:self.rac_willDeallocSignal ] subscribeNext:^(idx) {

    NSLog(@"每两秒执行一次");

}]

相关文章

  • (IOS)RAC常用方法浅谈

    oc版pod:pod 'ReactiveObjC' 1.Button 点击方法 [[self.button rac...

  • RAC(iOS)常用方法

    前言 在学完RAC后发现方法的用法总是会忘,于是简单记录一下在工程中的用法。 RAC常用方法 UIButton点击...

  • iOS RAC常见问题汇总

    简介:本文主要对RAC使用过程中遇到的问题进行汇总,方便后续查询和学习。《iOS RAC常用方法汇总》[https...

  • iOS RAC常用方法总结

    简介:本文主要对RAC常见使用方法及易混淆的概念和注意事项进行汇总,方便后续查询和学习。原文请参考:《Reacti...

  • RAC(二)

    RAC常用方法 (instancetype)flattenMap:(RACStream * (^)(id valu...

  • ReactiveObjC 源码阅读笔记 (-rac_signal

    常用方法响应 -rac_signalForSelector: 使用: 源码 NSObject+RACSelecto...

  • RAC常用方法

    前言 由于时间的问题,暂且只更新这么多了,后续还会持续更新本文《最快让你上手ReactiveCocoa之进阶篇》,...

  • (一)、iOS RAC - RACSignal

    (一)、iOS RAC - RACSignal (二)、iOS RAC - RACDisposable(三...

  • RAC整理

    RAC常用的方法,搭配@weakify(self); @weakify(self); 通知 control Ges...

  • RAC之四(RAC常用方法)

    1.代替代理 2.监听事件 3.代替通知 4.监听文本框改变 5.代替KVO 总结:使用RAC这些方法,可以让我们...

网友评论

      本文标题:(IOS)RAC常用方法浅谈

      本文链接:https://www.haomeiwen.com/subject/jbrructx.html