售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
Title Page
Copyright and Credits
Reactive Programming with Swift 4
Packt Upsell
Why subscribe?
PacktPub.com
Contributors
About the author
About the reviewer
Packt is searching for authors like you
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Download the color images
Conventions used
Get in touch
Reviews
Migrating from Swift 3 to Swift 4
What's new in Swift 4?
Setting up the environment
What’s changed?
Changes/improvements in Dictionary
Grouping initializer
Key-based subscript with default value
Convert tuples to Dictionary
Convert arrays to Dictionary
Resolving duplicates
Reserving capacity
Changes/improvements in Strings
Bid bye to string.characters
String protocol
Changed interpretation of grapheme clusters
Access modifiers
What's new
JSON encoding and decoding
Multiline String literals
Smart key paths
One sided ranges
Pattern matching with one sided ranges.
swap versus swapAt
Improved NSNumber
Directly access unicode scalars of characters
Migrating to Swift 4
Preparation before migration
Swift migration assistant
Swift 4 migration changes overview
SDK changes
Notable special cases
New String
Differentiating between single-tuple and multiple-argument function types
Adding tuple destructuring
Default parameter values must be public
After migration
Known migration issues
Using Carthage/CocoaPods projects
Summary
FRP Fundamentals, Terminology, and Basic Building Blocks
Functional reactive programming
What is functional reactive programming (FRP)?
Imperative programming
Functional programming
Reactive programming
Basic building blocks
Event streams
State
Side effects
Immutability
RxSwift foundation
Reactive extensions
Observable
Subject
Marble diagrams
Schedulers
Railway-oriented programming
Summary
Set up RxSwift and Convert a Basic Login App to its RxSwift Counterpart
RxSwift in action
Let's build the environment first
Setting up the environment
RxSwift with CocoaPods
Installing RxSwift
Installing RxSwift with Carthage
Let's get started – The Login page
Setting up
Steps to set up
Functional programming to the rescue
Summary
When to Become Reactive?
Creating and subscribing to Observables
Project setup
Getting started
Different types of subject
PublishSubject in action
BehaviorSubject in action
ReplaySubject in action
Variable in action
Understanding traits and its types
What are traits?
Different types of trait
The single trait
The completable trait
The maybe trait
Summary
Filter, Transform, and Simplify
Working with events using operators
Environment setup
Transforming operators
flatMap and flatMapLatest in action
Scan, reduce, and buffer
Scan
Buffer
Filtering operators
The filter operator
The distinctUntilChanged operator
The takeWhile operator
Summary
Reduce by Combining and Filtering and Common Trade Offs
Combining and filtering Observable sequences
Project setup
Concatenating and prefixing
Merging
Combining elements of different types
Introducing zip
Performing side effects
doOn in action
Setting the project
Building the app
Summary
React to UI Events – Start Subscribing
RxCocoa traits
Types of RxCocoa traits
Driver
ControlProperty
ControlEvent
Binding UI elements in practice
Binding data to UI
Binding UITableViews
Configuring cell rows in a TableView
Selecting a row in TableView
Binding UICollectionViews
Summary
RxTest and Custom Rx Extensions – Testing with Rx
Testing in RxSwift
RxTest
Testing in practice with HotObservables
Testing in RxTest with ColdObservables
RxBlocking
Testing with RxBlocking
Summary
Testing Your RxCode – Testing Asynchronous Code
Tracking down issues – Debugging Rx code
Debugging with debug
Debugging with total
Testing asynchronous code
Summary
Schedule Your Tasks, Don't Queue!
Queues and schedulers
Scheduler Singletons
Specifying a scheduler
Schedulers in practice
ConcurrentDispatchQueueScheduler
SerialDispatchQueueScheduler
OperationQueueScheduler
Summary
Subscribe to Errors and Save Your App
Error handling
The catchErrorJustReturn operator
The catchError operator
The retry operator
onErrorJustReturn
onErrorDriveWith
onErrorRecover
Summary
Functional and Reactive App-Architecture
Design patterns
Singleton design pattern
Implementation
Singleton design pattern – Pros and cons
Key value coding (KVC)
KVC – Implementation
Notifications
Notifications – Implementation
Model view controller – MVC
The model
The view
The controller
MVC implementation
Summary
Finish a Real-World Application
Networking in RxSwift
Project setup
Project implementation
Fetching and parsing data
Binding fetched data to View elements
Build and run
Some other cool libraries
Summary
Other Books You May Enjoy
Leave a review - let other readers know what you think
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜