What is Combine? 2019 年 7 月,apple 在 wwdc 介紹了全新的 SwiftUI,一個以宣告式編程結合響應式編程的所見即所得 UI...
首先, 讓我們認識響應式編程! 顧名思義, 響應式編程的目的是一種編程的方法, 其中心想法不同於物件導向編程是面對物件為主, 響應式編程是以面對資料變化為主....
Subject 是一種特殊的 Publisher, protocol Subject 是 protocol Publisher 的繼承類: protocol S...
30 天的密集學習之後, Combine 的難度其實並沒有想象的高, 在未來 SwiftUI 的普及之下, 相信響應式編程會是一個對新手的一座難以跨越的高山,...
基本觀念的最後一個部分,Operator,就像是物件導向的不同部分有不同的變形一樣,Operator 在 Combine 中扮演了舉足輕重的角色,沒有了他,Co...
CombineRxSwiftPerformance 是一個在 GitHub 知名的專案, 在 wwdc 2019 剛發表 Combine 的時候, 這個 rep...
SwiftLee 是一位樂於分享的 iOS 開發者, 在 Combine 釋出沒多久, 就發佈了介紹 Combine 的系列文章, 更在 mobiconf 上主...
連續的介紹 Operator 之後,會發現很多範例都有 sink, 如果沒有調用這個, Publisher 將不會執行. 今天要特別講 sink 與 assig...
在 第 18 篇時, 我們使用 Extension 的方式, 將 UITextField 拓展加入 textPublisher, 但畢竟是拓展, 需要額外加入方...
1.filter 只將通過條件的上游持續發布 就像是if then,沒有 else 而已! Declaration func filter(_ isInclud...
與 Timer 密切使用的 Operator. 10-1. debounce: 限制連續發佈的間隔, 唯有間隔超過制定時間才會轉發元素. var set = S...
上流整合類型由於沒辦法直接用 Sequence.Publisher 的方式測試, 這部分的 Demo code 將於日後更新. 6-1. zip: 等待不同的上...
Operator 7. 型別銜接類型 7-1. eraseToAnyPublisher: 不是運作類型的 Operator, 是型別類型的(可能是唯一一個) 用...
在 Swift 5.1 之前, 每當我們看到 @_SOME_ 時, 都會去 Swift.org 查找 grammar_attribute-name, 像是 @I...
1. session 722 Introducing Combine link 在系列文章開始時,我們提到 Combine 的 3 個主角: Publish...
Artwork: from Combine: Asynchronous Programming with Swift, available at www.r...
Demo project: link 在學習了 22 天了之後, 是時候實作了, 這次我們要做使用者登入的機制, 功能如下: 賬號與密碼必須同時超過 3 碼,...
Combine 中的 Error handling 可方便處理 throws 的錯誤拋出。 開始之前,先建立 Error 與 Function enum Dem...
Operator 3. 整併類型 3-1. reduce: 將上游在結束前的每個元素連續處理 func reduce<T>(_ initialRe...
今天這部分很適合用 URLSession.datataskPublisher 介紹 Operator 9. 失敗處理類型 9-1. assertNoFail...
之前在 iPlayground 2019 有個分享, 是講如何在 Swift 5.0 之前沒有 Combine 的環境下建立 ReactiveX 的架構. 講者...