资讯专栏INFORMATION COLUMN

ReactiveCocoa 第一次小实践

xzavier / 1575人阅读

摘要:实现的目的功能限制用户手机号的输入长度限定在位在输入的手机号的长度为位时获取验证码按钮具体实现的比较传统思路实现进行监听并且绑定回调的函数实现回调的函数限制位长度手机号长度满足位时取消获取验证码按钮的禁用使用实现限制位长度手机号长度满足位

实现的目的功能

限制用户手机号的输入长度, 限定在11位

在输入的手机号的长度为11位时, enable获取验证码按钮.

具体实现的比较 传统思路实现

进行监听, 并且绑定回调的函数

[self.phoneNumberInput addTarget:self
                          action:@selector(textFieldLimit11Characters:)
                forControlEvents:UIControlEventEditingChanged];

实现回调的函数

- (void)textFieldLimit11Characters:(UITextField *)textField
{
    if (textField.text.length >= 11) {
        // 限制11位长度
        textField.text = [textField.text substringToIndex:11];
        // 手机号长度满足11位时, 取消获取验证码按钮的禁用
        self.getCheckNumber.enabled = YES;
    } else {
        self.getCheckNumber.enabled = NO;
    }
}
使用 ReactiveCocoa 实现
// 限制11位长度
[self.phoneNumberInput.rac_textSignal subscribeNext:^(NSString *number) {
    if (number.length >= 11) {
        self.phoneNumberInput.text = [number substringToIndex:11];
    }
}];

// 手机号长度满足11位时, 取消获取验证码按钮的禁用
RAC(self, getCheckNumber.enabled) =
    [RACSignal combineLatest:@[self.phoneNumberInput.rac_textSignal]
                      reduce:^(NSString *number) {
                          return @(number.length >= 11);
                      }];

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/15608.html

相关文章

  • iOS 进阶必读 - 收藏集 - 掘金

    摘要:深入研究捕获外部变量和实现原理掘金前言是语言的扩充功能,而在和中引入了这个新功能。是由和两位大神在对的开发过程中中所有变换操作底层实现分析上掘金前言在上篇文章中,详细分析了是创建和订阅的详细过程。 深入研究Block捕获外部变量和__block实现原理 - 掘金 前言 Blocks是C语言的扩充功能,而Apple 在OS X Snow Leopard 和 iOS 4中引入了这个新功能B...

    sf_wangchong 评论0 收藏0
  • iOS 进阶必读 - 收藏集 - 掘金

    摘要:深入研究捕获外部变量和实现原理掘金前言是语言的扩充功能,而在和中引入了这个新功能。是由和两位大神在对的开发过程中中所有变换操作底层实现分析上掘金前言在上篇文章中,详细分析了是创建和订阅的详细过程。 深入研究Block捕获外部变量和__block实现原理 - 掘金前言 Blocks是C语言的扩充功能,而Apple 在OS X Snow Leopard 和 iOS 4中引入了这个新功能Bl...

    szysky 评论0 收藏0
  • iOS 进阶必读

    摘要:广州线下活动八面玲珑的淘宝出品月日,由淘宝主办的地下铁沙龙在广州广电平云广场举办。此次邀请的嘉宾在方面有所实践探索,分别来自腾讯淘宝公司。从这次入院考试开始,就成功入院了。一常见类信号类。然而实际使用过程中,还是会遇到一些问题,比如的问题。 初探 CALayer 属性 一直觉得一个 view 就一个 layer,到今天才发现不是这样子的。 Xcode8调试黑科技:Memory Grap...

    waruqi 评论0 收藏0
  • iOS 进阶必读

    摘要:广州线下活动八面玲珑的淘宝出品月日,由淘宝主办的地下铁沙龙在广州广电平云广场举办。此次邀请的嘉宾在方面有所实践探索,分别来自腾讯淘宝公司。从这次入院考试开始,就成功入院了。一常见类信号类。然而实际使用过程中,还是会遇到一些问题,比如的问题。 初探 CALayer 属性 一直觉得一个 view 就一个 layer,到今天才发现不是这样子的。 Xcode8调试黑科技:Memory Grap...

    lansheng228 评论0 收藏0
  • ReactiveCocoa在UIView上的运用

    摘要:个人以为,可以以信号的方式来触发各种动作,从而让代码更加精炼。在上的使用在这里,对添加了一个的方式,就不用利用的方式来再写一个方法来进行对添加点击事件了。在的使用选择图片上传取消拍照上传从相册选择这两个是在博客里提到的。多谢各位的支持。 首先真的真的非常感谢在Segmentfault上给我点赞收藏我文章的朋友,你们真的真的给了我很大的动力去继续写一些有关iOS开发的文章。大可放心...

    wind5o 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<