
RxSwift笔记
iMazy
不同的思想、不同的路、不同的人生!
展开
-
RxSwift笔记 - Observable 可观察序列
Observable - 可被监听的序列Observable 的生命周期Event 事件特征序列SingleCompletableMaybeDriverControlEventObservable - 可被监听的序列Observable 用于描述元素异步产生的序列Observable 这个类是 Rx 框架的核心,我们可以称它为可观察序列。...原创 2018-05-17 16:27:17 · 1315 阅读 · 0 评论 -
RxSwift笔记 - Creating Observables
create()just()from() / of()repeatElement()generate()deferred()range()interval()timer()empty()error()never()create() 使用一个函数从头创建一个Observable/// 创建可观察对象let id = Obs...原创 2018-05-24 22:38:29 · 659 阅读 · 0 评论 -
RxSwift笔记 - Mathematical and Aggregate Operators
ConcattoArrayReduceConcat concat 会把多个 Observable 序列合并(串联)为一个 Observable 序列 并且只有当前面一个 Observable 序列发出了 completed 事件,才会开始发送下一个 Observable 序列事件。let subject1 = BehaviorSub...原创 2018-06-05 17:35:46 · 456 阅读 · 0 评论 -
RxSwift笔记 - 特征序列 (Single/Completable/Driver)
特征序列 可以看作是 Observable 的另外一个版本。它们之间的区别是:Observable 是能够用于任何上下文环境的通用序列而 特征序列 可以帮助我们更准确的描述序列。同时它们还为我们提供上下文含义、语法糖,让我们能够用更加优雅的方式书写代码Single它不像 Observable 可以发出多个元素,它要么只能发出一个元素,要么产生一个 error 事件。...原创 2018-08-14 21:21:38 · 1612 阅读 · 0 评论 -
RxSwift笔记 - Schedulers (调度器)
调度器(Schedulers)调度器(Schedulers)是 RxSwift 实现多线程的核心模块,它主要用于控制任务在哪个线程或队列运行.RxSwift 中的几种 SchedulerCurrentThreadScheduler:表示当前线程 Scheduler。(默认使用这个)MainScheduler:表示主线程。如果我们需要执行一些和 UI 相关的任务,就需要切换到该 Sc...原创 2018-08-16 20:17:37 · 1403 阅读 · 0 评论 -
RxSwift笔记 - RxCocoa 基础 (二) : UIGestureRecognizer
UIGestureRecognizerRxCocoa + UIGestureRecognizerlet tapGesture = UITapGestureRecognizer()view.addGestureRecognizer(tapGesture)Tap// 订阅方式实现tapGesture.rx.event.subscribe(onNext: { _ in...原创 2018-08-22 14:33:31 · 3367 阅读 · 0 评论 -
RxSwift笔记 - RxCocoa 基础 (三) : UITableView
单个分区的表格var tableView: UITableView!override func viewDidLoad() { super.viewDidLoad() tableView = UITableView(frame: view.bounds, style: .plain) // 注册cell tableView.register(UITa...原创 2018-08-23 17:44:46 · 2081 阅读 · 0 评论 -
RxSwift笔记 - RxCocoa 基础 (一)
UILabelUITextFieldUITextViewUIButtonUISliderUIStepperUISwitchUISegmentedControlUILabel文字绑定到 UILabellet label = UILabel()// .../// 值绑定Observable.just("Hello RxSwift") ...原创 2018-08-21 20:26:09 · 2960 阅读 · 0 评论 -
RxSwift笔记 - RxCocoa 基础 (四) : UITableView + RxDataSources
文章目录RxDataSources 介绍单分区 TableView方式一:使用自带的Section方式二:使用自定义的Section多分区的 TableView方式一:使用自带的Section方式二:使用自定义的SectionRxDataSources 介绍RxDataSources Github 地址: RxDataSources官方介绍:UITableView and UIColle...原创 2018-09-18 20:41:16 · 3180 阅读 · 0 评论 -
RxSwift笔记 - RxCocoa 基础 (五) : UITableView + Refresh
TableView 通常要和 Refresh功能结合使用, Refresh 大都从网络获取数据然后进行刷新本文模拟数据请求和表格刷新数据获取, 返回列表数据/// 获取数据func getRandomResult() -> Observable<[SectionModel<String, Int>]> { let items = (0..<5...原创 2018-09-19 15:10:55 · 1341 阅读 · 0 评论 -
RxSwift笔记 - Subjects
Subjects 同时充当了 Observer 和 Observable 的角色, 既是可被监听的序列也是观察者有许多 UI 控件都存在这种特性,例如UITextField 的当前文本,UISwitch 的开关状态,UISegmentedControl 的选中索引号,UIDatePicker 的选中日期等等。常见的 Subject:AsyncSubjectPublishSub...原创 2018-05-23 22:06:11 · 421 阅读 · 0 评论 -
RxSwift笔记 - Filtering Observables
DebounceSingleDistinctUntilChangedElementAtFilterIgnoreElementsSampleSkipTakeTakeLastDebounce 过滤掉高频产生的元素 debounce 常用在用户输入的时候,不需要每个字母敲进去都发送一个事件,而是稍等一下取最后一个事件。Obs...原创 2018-05-27 22:14:58 · 508 阅读 · 0 评论 -
RxSwift笔记 - Conditional and Boolean Operators
AmbContainsDefaultIfEmptySkipUntilSkipWhileTakeUntilTakeWhileAmb 在多个源 Observables 中, 取第一个发出元素或产生事件的 Observable,然后只发出它的元素let subject1 = PublishSubject&lt;Int&gt;()let s...原创 2018-06-03 22:56:05 · 625 阅读 · 0 评论 -
RxSwift笔记 - 简单介绍
RxSwiftRxSwift 是 ReactiveX 家族的重要一员, ReactiveX 是 Reactive Extensions 的缩写,一般简写为Rx。ReactiveX 官方给Rx的定义是,Rx是一个使用可观察数据流进行异步编程的编程接口。ReactiveX结合了观察者模式、迭代器模式和函数式编程的精华。ReactiveX 不仅仅是一个编程接口,它是一种编程思想的突破,它...原创 2018-05-13 22:03:48 · 1472 阅读 · 0 评论 -
RxSwift笔记 - 学习资源分享
[特此申明】:以下资源摘自多位优秀博主文章,其联系已指出在次感谢各位前辈给 Rx 爱好者铺路,谢谢!书籍RxSwift - By Raywenderlich GitBookRxSwift 中文文档 - By Beeth0venReactiveX文档中文翻译 - By Mcxiaoke 视频从零开始RxSwift探险实战视频课程 - By 李勇Lea...原创 2018-05-15 09:50:55 · 1775 阅读 · 0 评论 -
RxSwift笔记 - 全局思维导图
个人 RxSwift 思维导图整理此图来自网络PS: 如过需要原图, 请留下邮箱原创 2018-05-15 10:19:24 · 846 阅读 · 3 评论 -
RxSwift笔记 - Combining Observables
CombineLatestMergeStartWithSwitchLatestZipCombineLatest 当两个Observables中的任何一个发射了数据时,使用一个函数结合每个Observable发射的最近数据项,并且基于这个函数的结果发射数据。let first = PublishSubject&lt;String&gt;(...原创 2018-06-02 17:16:03 · 764 阅读 · 0 评论 -
RxSwift笔记 - Error Handling Operators
CatchErrorCatchErrorJustReturnRetryDebugCatchError 从一个错误事件中恢复,将错误事件替换成一个备选序列let sequenceThatFails = PublishSubject&lt;String&gt;()let recoverySequence = PublishSubject&l...原创 2018-06-02 17:30:06 · 443 阅读 · 0 评论 -
RxSwift笔记 - Observable Utility Operators
DelayDoMaterializeDematerializeObserveOnSubscribeOnTimeoutUsingDelay 该操作符会将 Observable 的所有元素都先拖延一段设定好的时间,然后才将它们发送出来Observable.of(1, 2, 1) .delay(3, schedul...原创 2018-06-03 12:22:53 · 446 阅读 · 0 评论 -
RxSwift笔记 - Transforming Observables
mapflatMapflatMapLatestconcatMapscangroupBybufferwindowmap 该操作符通过传入一个函数闭包把原来的 Observable 序列转变为一个新的 Observable 序列Observable.of(1, 3, 5, 7, 9) .map({ $0 * 10 }) .s...原创 2018-05-27 15:36:50 · 451 阅读 · 0 评论 -
RxSwift笔记 - 函数响应式编程
常见编程模式函数式编程 - Functional Programming响应式编程 - Reactive Programming函数响应式编程 - Functional Reactive Programming函数式编程 - Functional Programming 函数式编程的一个特点就是,允许把函数本身作为参数传入另一个函数,还允许返回一个函数。我...原创 2018-05-16 16:45:24 · 538 阅读 · 0 评论 -
RxSwift笔记 - Observer 观察者
AnyObserverBinderBinder 在 RxCocoa 中的应用UIControl + RxUILabel + RxUIView + Rx观察者(Observer)介绍 观察者(Observer)的作用就是监听事件,然后对这个事件做出响应。或者说任何响应事件的行为都是观察者常见观察者AnyObserver - 任意一种观察者...原创 2018-05-22 21:52:01 · 1146 阅读 · 0 评论