ReactiveSwift日常运用<一>

上一篇中,我已经很详细的介绍了ReactiveSwift,接下来我就举个简单的例子供大家参考。

键盘的监听

这在我们开发中很常用,因为很多App都需要对登录注册进行判断,这样可以避免服务器存储很多废数据,减轻服务器的压力。

首先我们先看一下效果图,当然这个只是个简单的damo项目地址

git clone https://github.com/KingComeFromChina/ReactiveSwiftDamo
ReactiveSwift日常运用<一>_第1张图片
1.png

ReactiveSwift日常运用<一>_第2张图片
2.png
ReactiveSwift日常运用<一>_第3张图片
3.png

ReactiveSwift日常运用<一>_第4张图片
4.png

接下来就让我详细的解释一下这些是怎么实现的吧。

1.首先,我们用cocoaPod

pod 'ReactiveCocoa'

ReactiveSwift日常运用<一>_第5张图片
4.png

2.在类中顶部位置导入头文件
ReactiveSwift日常运用<一>_第6张图片
5.png
3.搭建UI,这个就不多说了,无论你是纯代码撸还是Xib拉,无所谓了
4.声明两个私有变量,用户名是否合法,密码是否合法
ReactiveSwift日常运用<一>_第7张图片
6.png
对了,在这里跟大家分享两个正则表达式,一个判断是否是手机号,一个判断密码是否是字母加数字多少多少位的,这个也是很常用的
ReactiveSwift日常运用<一>_第8张图片
7.png
5.接下来就到了关键地方
监听键盘的内容,RAC中已经封装好了专门的方法
ReactiveSwift日常运用<一>_第9张图片
8.png
创建用户名、密码合法信号和订阅信号
ReactiveSwift日常运用<一>_第10张图片
9.png

这上面两个传递的都是颜色数据,通过验证用户名和密码是否合法从而改变输入字体的颜色和提示语的隐藏,其实是BOOL类型的信号,然后传递颜色数据,观察者订阅信号后根据信号的BOOL值改变颜色

ReactiveSwift日常运用<一>_第11张图片
10.png

创建登录按钮合法性信号,通过判断用户名合法信号和密码合法信号同时满足时,登录按钮信号BOOL值为true,这个可以控制按钮是否可以被点击

以上内容如果有什么不到位的地方,请大家在评论区给予指正,谢谢大家。

你可能感兴趣的:(ReactiveSwift日常运用<一>)