zoukankan      html  css  js  c++  java
  • RXSwift之Observer

    RXSwift之Observer

    Observer - 观察者

    观察者是用来监听事件,然后它需要这个事件做出响应。例如: 弹出提示框就是观察者,它对点击按钮这个事件做出响应。

    响应事件的都是观察者

    下面用几个例子来解释一下什么是观察者:

    • 当室温高于33度时,打开空调降温,打开空调降温就是观察者 Observer
    • 当《海贼王》更新一集时,我们就立即观看这一集,观看这一集就是观察者 Observer
    • 当取到JSON时,将它打印出来,将它打印出来就是观察者 Observer
    • 当任务结束后,提示用户任务已完成,提示用户任务已完成就是观察者 Observer

    如何创建观察者

    和 Observable 一样,框架已经帮我们创建好了许多常用的观察者。例如: view 是否隐藏, button 是否可点击,label 的当前文本,imageView 的当前图片等等。

    另外,有一些自定义的观察者是需要我们自己创建的。这里介绍一个创建观察者最基本的方法,例如,我们创建一个弹出提示框的观察者:

    tap.subscribe(onNext: { [weak self] in
        self?.showAlert()
    }, onError: { error in
        print("发生错误: (error.localizedDescription)")
    }, onCompleted: {
        print("任务完成")
    })

    创建观察者最直接的方法就是在 Observable 的 subScribe方法后面描述,事件发生时,需要如何做出响应。而观察者就是由后面的 onNext,onError,onCompleted的这些闭包构建出来的。

  • 相关阅读:
    CCF NOI1067 最匹配的矩阵
    POJ NOI0105-29 数字反转
    POJ NOI0105-30 含k个3的数
    POJ NOI0105-32 求分数序列和
    POJ NOI0105-33 计算分数加减表达式的值
    POJ NOI0105-34 求阶乘的和
    POJ NOI0105-35 求出e的值
    POJ NOI0105-36 计算多项式的值
    POJ NOI0105-44 第n小的质数
    POJ NOI0105-43 质因数分解
  • 原文地址:https://www.cnblogs.com/muzichenyu/p/14840567.html
Copyright © 2011-2022 走看看