E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Rxswift
RxSwift
(14)—— MVVM双向绑定
RxSwift
篇章已经接近尾声,回首这个历程很累但很充实:白天备课,晚上VIP上课!忙里偷闲写下了这个篇章。
Cooci_和谐学习_不急不躁
·
2019-08-29 16:00
RxSwift
分享1
什么是响应式编程响应式编程是一种和事件流有关的编程模式,关注导致状态值改变的行为事件,一系列事件组成了事件流。一系列事件是导致属性值发生变化的原因。响应式编程非常类似于设计模式里的观察者模式。响应式编程与普通的函数式编程相似,但是每个函数可以接收一个输入值的流,如果其中,一个新的输入值到达的话,这个函数将根据最新的输入值重新计算,并且产生一个新的输出。这是一种”数据流”编程模式。事件流持续的事件+
海边的1984_
·
2019-08-29 14:11
RxSwift
调度者(三)
RxSwift
调度者(三)补充publishletob=Observable.interval(1,scheduler:MainScheduler.instance)letob2=ob.publish(
Chuck丶陈
·
2019-08-29 11:08
RxSwfit 学习笔记(二)Observable & Observer
上一篇文章中,我们已经简单了解了一下
RxSwift
入门的第一步,在RxCocoa的帮助下,来实现一个登录输入监听校验的功能。那么我们要如何创建一个属于我们自己的监听序列呢?
尤先森
·
2019-08-28 22:14
RxSwift
-序列的创建
empty序列事件是Int类型的,这里调用emty函数没有序列,只能completeletemtyOb=Observable.empty()_=emtyOb.subscribe(onNext:{(number)inprint("订阅:",number)},onError:{(error)inprint("error:",error)},onCompleted:{print("完成回调")}){pr
Harry_upup
·
2019-08-28 16:52
RxSwift
(五)操作符的使用
在
RxSwift
中,有许多实用的操作符,也可以称之为高阶函数,可以帮助我们创建特定功能的序列,或者组合变换原有的序列,生成一个新的序列。这里记录一下,可以作为手册以供快速查看。
Colbert_Z
·
2019-08-28 15:19
RxSwift
(四)可监听序列Observavle的创建/订阅/销毁函数
Observable是用于描述元素异步产生的序列,在使用时通常需要指定事件的携带数据类型:Observable,如:Observable、Observable,如果不确定或者多类型可用Observable。Observable有三种事件:next(Element)出现新数据(Element)时触发的事件,会携带这个新的数据对象。error(Swift.Error)触发一个错误事件,携带了具体错误内
Colbert_Z
·
2019-08-28 14:22
RxSwift
学习(一)-- 初探
一、函数响应式编程(FRP)响应式编程简称RP(ReactiveProgramming),它是一种面向数据流和变化传播的编程方式。这意味着可以在编程语言中很方便地表达静态或者动态的数据流,而相关的计算模型会自动将变化的值通过数据流进行传播。响应式编程与函数式编程相结合起来,就是函数式响应编程FRP(FunctionalReactiveProgramming)。前面在学RAC的时候,已经理解了函数响
凡几多
·
2019-08-26 14:08
swift开发利器-
RxSwift
一、为什么要使用
RxSwift
?
蓝光95
·
2019-08-26 00:00
swift
xcode
iphone
ios
RxSwift
中的Disposable销毁者
销毁方式一般有两种:主动调用dispose进行销毁加入到销毁袋DisposeBag中dispose我们先分析直接调用dispose进行销毁。//创建序列letob=Observable.create{(observer)->Disposableinobserver.onNext("Cooci")//observer.onCompleted()returnDisposables.create{pri
简_爱SimpleLove
·
2019-08-25 14:07
RxSwift
(1)-初探
Rx家族是一个非常牛逼的家族,相信是个程序员都知道这个家族,从今天开始,慢慢的更新文章,带着大家一起小试牛刀一下
RxSwift
。
BoxJing
·
2019-08-24 21:51
RxSwift
(三)原理深入探究
在上一篇:
RxSwift
原理-执行流程中,简单分析了一下
RxSwift
的核心流程,本篇主要针对上一篇做一下更加深入的探究。
Colbert_Z
·
2019-08-24 10:34
RxSwift
(二)原理-执行流程
RxSwift
使用步骤:创建序列订阅信号发送信号示例代码letdisposbag:DisposeBag=DisposeBag()//创建序列letob:Observable=Observable.create
Colbert_Z
·
2019-08-24 10:27
RXSwift
响应核心底层逻辑原理2
上一篇文章
RXSwift
基础用法及响应核心底层逻辑原理中针对执行Observable.create的具体SubscribeHandler调用并没有讲清楚,也就是开始执行observer.onNext("
lb_
·
2019-08-21 22:11
RXSwift
中Scheduler调度者本质核心原理解析(一)
在之前我们看
RxSwift
源码时,经常看到一个Scheduler,但是没有去管他,其实Scheduler是
RxSwift
针对多线程的一套封装,大部分是使用GCD,另外还有部分是Operation.目的是为了让用户更直接了当的决定在哪一个队列中去异步执行观察
lb_
·
2019-08-21 22:35
RXSwift
中Scheduler调度者核心原理解析(二)
先来看一个例子:print("当前测试方法中的线程:\(Thread.current)")Observable.of(1,2,3,4,5,6,7,8,9,10).observeOn(SerialDispatchQueueScheduler.init(internalSerialQueueName:"observeOnSerial")).subscribe{print("observeOn",$0,
lb_
·
2019-08-21 22:58
RXSwift
中 Subject的使用和分析
Subject是
RxSwift
中一种特殊的序列,最重要的特征是它即为可观察序列,也为观察者.在实际开发中也最为常用,因此建议多了解其逻辑原理,对实际开发使用时有很大帮助。为什么它是双重身份呢?
lb_
·
2019-08-21 22:54
RXSwift
内存管理探索
在
RxSwift
中由于大量闭包的存在,我们不可避免的要考虑循环引用的内存问题.因此,熟练掌握
RxSwift
内存管理原理,可以帮助我们在写序列/订阅闭包时明白,何时需要使用unowned/weak来避免内存泄漏
lb_
·
2019-08-21 22:05
RxSwift
源码解析(二)
RxSwift
源码解析(二)
RxSwift
订阅流程/***create:ObservableType.create*->AnonymousObservable.
Chuck丶陈
·
2019-08-21 18:03
RxSwift
(2) - 核心流程分析
RxSwift
事件Eventnext—序列产生了一个新的元素error—创建序列时产生了一个错误,导致序列终止completed—序列的所有元素都已经成功产生,整个序列已经完成序列的创建//1、创建序列
H_Zimi
·
2019-08-19 22:03
RxSwift
中为什么timer不受runloop影响?
RxSwift
中为什么timer不受runloop影响?你好,我是Emma,今天我们来研究
RxSwift
中的timer。1.一般创建timer如何创建的?定时器创建-》执行。
Emma_虫儿
·
2019-08-19 19:28
理解
RXSwift
:单元测试(四)
这篇文章是阅读
RxSwift
:ReactiveProgrammingwithSwift时记的笔记,介绍如何使用RxTest和RxBlocking对
RxSwift
编写单元测试。
潇潇潇潇潇潇潇
·
2019-08-19 13:33
RxSwift
中的Scheduler调度者(上)
初识为了初步认识调度者,我们先来看下面一段代码的打印:DispatchQueue.global().async{print("global---\(Thread.current)")self.actionBtn.rx.tap.subscribe(onNext:{()in//订阅回来打印的线程在主线程,是因为订阅就是订阅在主队列的print("tap---\(Thread.current)")})}
简_爱SimpleLove
·
2019-08-18 23:15
RxSwift
中的Scheduler调度者(下)
上一篇文章我们提到了subscribeOn和observeOn两个重要函数:observeOn:观察者回调在某个特定的线程上subscribeOn:订阅或者取消订阅在某个特定的线程上下面我们先来探究observeOn的具体调度流程,来探究调度者的原理。observeOn的实现流程我们先来看下面一个简单的测试代码:print("当前测试方法中的线程:\(Thread.current)")Observ
简_爱SimpleLove
·
2019-08-18 23:16
RxSwift
(一)编程思想&&上手
RxSwift
是Rx的Swift版本。除了
RxSwift
,还有RxJava、RxJS、Rx.Net等,对应的OC版本则是RAC(ReactiveCocoa)。
Colbert_Z
·
2019-08-18 17:35
RxSwift
-MVVM
当然是我们的
RxSwift
。学习
RxSwift
框架以来,似乎并没有真正使用过这个框架,下面就来看看,
RxSwift
具体能带来哪些便利。
yahibo
·
2019-08-15 19:36
RxSwift
RxSwift
(1)- 让代码变得更优雅
答案当然是肯定的,
RxSwift
,满足了我们的需求,下面我们来初步体验一下
RxSwift
。首先我们有一个简单的需求:监听UITextField的text的变化。
H_Zimi
·
2019-08-15 16:29
RxSwift
调度者scheduler
RxSwift
的核心非常简单,无非就是以下四点:可观察序列Observalbe观察者Observer调度者Scheduler销毁者Dispose可观察序列、观察者,在《
RxSwift
核心源码探索》中有讲
yahibo
·
2019-08-15 11:23
RxSwift
学习--高阶函数 / 操作符(上)
前言在
RxSwift
中,高阶函数也可以成为操作符,高阶函数可以帮助我们创建新的序列,或者变化组合原有的序列,从而生成一个新的序列。
Henry_Jeannie
·
2019-08-14 16:25
RxSwift
(1)—— 初探
RxSwift
(1)——初探
RxSwift
(2)——核心逻辑源码分析
RxSwift
(3)——Observable序列的创建方式
RxSwift
(4)——高阶函数(上)
RxSwift
(5)——高阶函数(下)
Cooci_和谐学习_不急不躁
·
2019-08-14 00:39
RxSwift
(5)—— 高阶函数(上)
RxSwift
(1)——初探
RxSwift
(2)——核心逻辑源码分析
RxSwift
(3)——Observable序列的创建方式
RxSwift
(4)——高阶函数(上)
RxSwift
(5)——高阶函数(下)
Cooci_和谐学习_不急不躁
·
2019-08-13 21:03
RxSwift
(4)—— 高阶函数(上
RxSwift
(1)——初探
RxSwift
(2)——核心逻辑源码分析
RxSwift
(3)——Observable序列的创建方式
RxSwift
(4)——高阶函数(上)
RxSwift
(5)——高阶函数(下)
Cooci_和谐学习_不急不躁
·
2019-08-13 21:15
RxSwift
学习--特征序列之Driver
前言Driver(老司机?),它是一个精心准备的特征序列,它主要是为了简化UI层的代码,也即是提供一种简便的方式在UI层编写响应式代码。Driver在学习Driver之前,先来看一段rx的代码:letresult=inputTF.rx.text.skip(1).flatMap{[weakself](input)->Observableinreturn(self?.dealwithData(inpu
Henry_Jeannie
·
2019-08-13 17:36
RxSwift
高阶函数map解读
RxSwift
高阶函数map解读1.map通过一个转换函数,将Observable的每个元素转换一遍。
silasjs
·
2019-08-13 16:41
RxSwift
-场景序列
简化创建流程简化订阅流程ControlEventControlEvent:专门用于描述UI控件所产生的事件,它具有以下特征不会产生error事件一定在MainScheduler订阅(主线程订阅)一定在MainScheduler监听(主线程监听)会共享附加作用letcontrolEventOB=self.button.rx.controlEvent(.touchUpInside)controlEve
Code_人生
·
2019-08-13 16:50
RxSwift
介绍\核心逻辑 上
RxSwift
->githubRxSwift中文文档函数响应编程&
RxSwift
核心逻辑上函数响应编程&
RxSwift
核心逻辑下待续...正在努力编写
RxSwift
-中介者模式
RxSwift
-KVO\内存管理前言使用终端
Janek_m
·
2019-08-13 16:29
RxSwift
-KVO\内存管理
函数响应编程&
RxSwift
核心逻辑上函数响应编程&
RxSwift
核心逻辑下待续...正在努力编写
RxSwift
-中介者模式
RxSwift
-KVO\内存管理一、Rx-KVOvardisposeBag=DisposeBag
Janek_m
·
2019-08-13 15:00
RxSwift
Demo
感受一份
RxSwift
的小Demo用户名大于五个字符隐藏用户名红色提示label,密码输入框可以使用,密码大于6个字符,隐藏密码框下的红色提示label,用户名密码输入框同时满足字符限制,登陆按钮可以使用
周小周_
·
2019-08-13 15:36
RxSwift
-内存管理
一、循环引用weak:弱引用,[weakself],需要解包操作,延迟调用为nil不崩溃unowned:无主引用,[unownedself],不需要解包操作,延迟调用崩溃funcretainCycleDemo(){//myClosure={//print(self)//}//[weakself]//需要解包操作//myClosure={[weakself]in//print(self!)//}//
Code_人生
·
2019-08-13 14:27
RxSwift
-高阶函数使用
组合操作符一、startWith在开始从可观察源发出元素之前,发出指定的元素序列Observable.of("1","2").startWith("A").startWith("C","a").subscribe(onNext:{print($0)}).disposed(by:disposeBag)/*打印结果:CaA12/*二、merge将源可观察序列中的元素组合成一个新的可观察序列,并将像每个
king_jensen
·
2019-08-13 14:36
RxSwift
高阶函数merge解读
RxSwift
高阶函数merge解读通过使用merge操作符你可以将多个Observables合并成一个,当某一个Observable发出一个元素时,他就将这个元素发出。
silasjs
·
2019-08-13 10:14
RxSwift
(3)—— Observable序列的创建方式
RxSwift
(1)——初探
RxSwift
(2)——核心逻辑源码分析
RxSwift
(3)——Observable序列的创建方式
RxSwift
(4)——高阶函数(上)
RxSwift
(5)——高阶函数(下)
Cooci_和谐学习_不急不躁
·
2019-08-13 01:23
RxSwift
-内存管理
在
RxSwift
中也仿造了系统引用计数实现了自己的一套引用计数功能。
yahibo
·
2019-08-12 23:58
RxSwift
(一) 初探
编程思想Swift是一门静态语言
RxSwift
响应式编程思想
RxSwift
学习的必要性复合复用清晰易用稳定函数式编程使用函数做为参数源于数学的y=f(x)->x=f(x)->y=f(f(x))简单使用KVO
Chuck丶陈
·
2019-08-12 16:13
RxSwift
(12)—— Subject即攻也守
RxSwift
(1)——初探
RxSwift
(2)——核心逻辑源码分析
RxSwift
(3)——Observable序列的创建方式
RxSwift
(4)——高阶函数(上)
RxSwift
(5)——高阶函数(下)
Cooci_和谐学习_不急不躁
·
2019-08-12 16:47
RxSwift
-中介者模式(Timer)
中介者顾名思义就是一个桥梁,通过中介者使对象间解耦。首先看一下定时器Timer循环引用问题无法释放,下面的代码:classViewController:UIViewController{varmTimer:Timer?overridefuncviewDidLoad(){super.viewDidLoad()mTimer=Timer.init(timeInterval:1,target:proxy,
May_Dobin
·
2019-08-12 15:33
RxSwift
之Subject
RxSwift
之Subject在
RxsWift
中还有一种非常特殊的序列Subject-即公也为受。Subject是一个代理,它既是Observer,也是Observable。
silasjs
·
2019-08-12 15:28
RxSwift
-dispose源码解析
OC中有init和dealloc,swift有init和deinit,
RxSwift
也不例外,
RxSwift
有create和dispose。下面就看看dispose是如何管理序列销毁的。
yahibo
·
2019-08-11 16:34
07
RXSwift
的publish状态共享
问题:如果一个网络请求的数据被多个地方多次使用,我们会进行多次订阅,结果会造成多次的网络请求,代码如下:letnetOB=Observable.create{(observer)->Disposableinsleep(2)//模拟网络延迟print("我开始请求网络了")observer.onNext("请求到的网络数据")observer.onNext("请求到的本地")observer.onC
越来越胖了
·
2019-08-11 14:39
swift(5)
RxSwift
之内存管理之一:普通使用
RxSwift
作为优秀的开源框架对于内存管理自然也是极为严格。接下来,我们探究一下普通使用的时候,什么情况下会导致
RxSwift
的内存泄露。
__拼搏__
·
2019-08-10 23:58
上一页
15
16
17
18
19
20
21
22
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他