A Combine Kickstart A Combine Kickstart

A Combine Kickstart

Introducing the Declarative Framework for Processing Values over Time

    • 5.0 • 3개의 평가
    • US$29.99
    • US$29.99

출판사 설명

Combine is about to replace all those techniques we've used for decades for passing information around in an iOS or macOS App asynchronously: Target-Action, callbacks, closures, delegates, notifications... all of them.



This hand-on, fast-moving kickstart introduces you to the future of declarative and reactive programming on Apple platforms. We focus on core concepts and building discrete, easy-to-understand, pieces of a pipeline that allows your app to react to changes in the state.



Updated for Xcode 12 and Swift 5.3 and tested on Apple Silicon.



Chapter 1: The Forest



We begin the book with a simple example that doesn't use Combine at all and see how it works using UIKit and SwiftUI. We then refactor the UIKit example to use Combine and to introduce the four pillars of Combine: Publishers, Subscribers, Subscriptions, and Operators.



Chapter 2: Moving Out



In this chapter we distance the model from the view to make the setting more realistic. You'll learn to publish and subscribe across this distance, to use assign(to:on:) and assign(to:) in addition to the sink() we used in Chapter 1. We break the publishing chain into pieces and learn to republish bits to keep our controllers small and focused. We end the chapter with a deeper look at operators and we create and use a couple of our own.



Chapter 3: Sending Messages



In this chapter we focus on a variety of ways of publishing information. If you already use KVO or NotificationCenter, Combine makes this experience much nicer. If you want to add Combine to existing code, you can use a PassthroughSubject or CurrentValueSubject. We conclude with my favorite technique of creating a custom publishing chain and exposing it without revealing all of its details.



Chapter 4: Not Everything Lasts Forever



So far we've worked with simple publishers that last forever and never fail. In this chapter we look more closely at the publisher chain and show you how to handle publishers that fail either in sink() or using a catch() operator. We'll wrap the problem parts in a flatMap() for some extra magic at the end of the chapter.



Chapter 5: Single Streams



Foundation's Timer provides a publisher that we can use to emit values at regular intervals. Too fast for you? Use debounce(), throttle(), or removeDuplicates() to control the flow. In addition we use print() and breakpoint() to investigate and debug our flow and handleEvents() to kick off new processes.



Chapter 6: Multiple Streams



We take our Dice example from Chapter 5 and share() our source with multiple subscribers. Some, like count(), reduce(), and collect(), perform actions which don't publish until the source finishes. Want results right away? Use scan() instead. We bring multiple publishers together with merge(), combineLatest(), and zip().



Chapter 7: Very Far Away



Our journey ends with network calls. We use URLSession's custom publisher to retrieve values followed by operators to transform the returned output. If the data is JSON we use the decoder() operator to easily produce instances of custom types. We end with a look at how the Future publisher allows us to wrap methods with callbacks into Combine publishers.

장르
컴퓨터 및 인터넷
출시일
2021년
1월 12일
언어
EN
영어
길이
257
페이지
출판사
Dim Sum Thinking, Inc
판매자
Dim Sum Thinking, Inc
크기
8.4
MB
Asynchronous Programming with SwiftUI and Combine Asynchronous Programming with SwiftUI and Combine
2023년
C# 2010 All-in-One For Dummies C# 2010 All-in-One For Dummies
2010년
Head First Go Head First Go
2019년
Learning React Learning React
2020년
Beginning Visual Basic 2010 Beginning Visual Basic 2010
2011년
Swift in Depth Swift in Depth
2018년
Baker's Math Baker's Math
2012년
A Swift Kickstart (Second Edition) A Swift Kickstart (Second Edition)
2016년
Zero Configuration Networking: The Definitive Guide Zero Configuration Networking: The Definitive Guide
2005년
A SwiftUI Kickstart A SwiftUI Kickstart
2019년
Dear Elena Dear Elena
2013년
A Functional Programming Kickstart A Functional Programming Kickstart
2020년
Protocol-Oriented Programming in Swift 5 Protocol-Oriented Programming in Swift 5
2021년
Develop in Swift AP CS Principles Teacher Guide Develop in Swift AP CS Principles Teacher Guide
2021년
Develop in Swift Fundamentals Teacher Guide Develop in Swift Fundamentals Teacher Guide
2021년
Develop in Swift AP CS Principles Develop in Swift AP CS Principles
2024년
Develop in Swift Explorations Develop in Swift Explorations
2021년
Develop in Swift Explorations Develop in Swift Explorations
2021년