-
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)之后,热信号,才会执行
-
相关阅读:
C++ 中int,char,string,CString类型转换
《Regularized Robust Coding for Face Recognition》
备份:一个Python最简单的接口自动化框架
python自动化初始页面踩坑指南
appium连接夜神浏览器,踩坑指南。
sublime python环境配置
appium+夜神模拟器
python学习随笔
xampp+discuz 安装踩坑后总结
XAMPP 安装时 MySQL 无法启动,且提示端口占用。
-
原文地址:https://www.cnblogs.com/hanfengs/p/5709253.html
Copyright © 2020-2023
润新知