zoukankan      html  css  js  c++  java
  • ReactiveCocoa函数响应式编程

     
    • ReactiveCocoa函数响应式编程
      • github团队开发的重量级的开源框架
      • 核心概念是信号signal(只要数据改变,信号内部接收到数据,就会马上发出数据),用信号接管了iOS的所有事件
      • iOS的事件包括addTarget,delegate,通知,KVO,网络异步回调
      • 好处是:
        • 直观和灵活。直观的代码容易编写、阅读和维护,灵活的特性便于应对变态的需求
        • 利用block将相关代码集中到一块,一定程度上解决代码分散的问题
        • RAC有一个主要的优点,就是提供了一个单一的,统一的方法去处理异步的行为,包括delegate方法,blocks回调,target-action机制,notifications和KVO.
        • 举个例子,一个text field能够绑定到最新状态,即使它在变,而不需要用额外的代码去更新text field每一秒的状态.它有点像KVO,但它用blocks代替了重写-observeValueForKeyPath:ofObject:change:context:.
        • 很多Cocoa编程集中在响应user events或者改变application state.这样写代码很快地会变得很复杂,就像一个意大利面,需要处理大量的回调和状态变量的问题,
        • 这个模式表面上看起来不同,像UI回调,网络响应,和KVO, notifications,实际上有很多的共同之处。RACSignal统一了这些API,这样他们能够组装在一起然后用相同的方式操作.
      • 注意地方:
        • 注意循环引用,
        • ViewModel发生变化的时候怎么通知ViewController并且相应的改变View呢?这就是ReactiveCocoa框架要干的事情了。(MVVM与ReactiveCocoa的关系,配合工作)
        • signal一创建是冷信号,不会被执行
        • 只有signal有订阅者(3种类型next,error,complement)之后,热信号,才会执行
  • 相关阅读:
    Vue
    Vue
    Vue
    服务器上部署django项目流程?
    Git 命令
    git命令?
    消息队列中间件??
    简述COOKIE和SESSION的区别与联系?
    什么是restful API?
    Django、Flask、Tornado的区别?
  • 原文地址:https://www.cnblogs.com/hanfengs/p/5709253.html
Copyright © 2011-2022 走看看