Combine
通過組合事件處理運(yùn)算符來定制異步事件的處理。
核心
- 代碼更易于閱讀和維護(hù)
- 集中處理事件的代碼并消除諸如嵌套閉包和基于約定的回調(diào)之類的麻煩技術(shù)。
使用教程
Combine框架提供了一個(gè)聲明性的Swift API,用于隨時(shí)間處理值。這些值可以表示多種異步事件。合并聲明發(fā)布者公開隨時(shí)間變化的值,訂閱者從發(fā)布者那里接收這些值。
Publisher協(xié)議聲明了一個(gè)可以隨時(shí)間傳遞值序列的類型。發(fā)布者讓運(yùn)營商根據(jù)從上游發(fā)布者那里獲得的價(jià)值采取行動(dòng),然后重新發(fā)布它們。
在發(fā)布者鏈的末端,訂閱者在接收元素時(shí)對(duì)其進(jìn)行操作。發(fā)布者僅在訂閱者明確要求時(shí)才發(fā)出值。這樣一來,您的訂戶代碼就可以控制從與其連接的發(fā)布者那里接收事件的速度。
幾種Foundation類型通過發(fā)布者公開其功能,包括Timer,NotificationCenter和URLSession。 Combine還為符合鍵值觀察的任何屬性提供了內(nèi)置發(fā)布者。
您可以合并多個(gè)發(fā)布者的輸出并協(xié)調(diào)他們的交互。例如,您可以訂閱文本字段發(fā)布者的更新,然后使用文本執(zhí)行URL請(qǐng)求。然后,您可以使用其他發(fā)布者來處理響應(yīng),并使用它們來更新您的應(yīng)用。
通過采用Combine,您可以集中處理事件的代碼并消除諸如嵌套閉包和基于約定的回調(diào)之類的麻煩技術(shù),從而使代碼更易于閱讀和維護(hù)。
推薦
基礎(chǔ)文章推薦
經(jīng)典教程推薦
- 更新近百篇SwiftUI教程《SwiftUI2020教程》
- 幫您突破數(shù)據(jù)存儲(chǔ)難關(guān)《SwiftUI vs CoreData數(shù)據(jù)存儲(chǔ)解決方案》
上新
技術(shù)源碼推薦
推薦文章
CoreData篇
- SwiftUI數(shù)據(jù)存儲(chǔ)之做個(gè)筆記App 新增與查詢(CoreData)
- SwiftUI進(jìn)階之存儲(chǔ)用戶狀態(tài)實(shí)現(xiàn)登錄與登出
- SwiftUI 數(shù)據(jù)之List顯示Sqlite數(shù)據(jù)庫內(nèi)容(2020年教程)
Combine篇
TextField篇
- 《SwiftUI 一篇文章全面掌握TextField文本框 (教程和全部源碼)》
- 《SwiftUI實(shí)戰(zhàn)之TextField風(fēng)格自定義與formatters》
- 《SwiftUI實(shí)戰(zhàn)之TextField如何給鍵盤增加個(gè)返回按鈕(隱藏鍵盤)》
- 《SwiftUI 當(dāng)鍵盤出現(xiàn)時(shí)避免TextField被遮擋自動(dòng)向上移動(dòng)》
- 《SwiftUI實(shí)戰(zhàn)之TextField如何給鍵盤增加個(gè)返回按鈕(隱藏鍵盤)》
JSON文件篇
一篇文章系列
- SwiftUI一篇文章全面掌握List(教程和源碼)
- 《SwiftUI 一篇文章全面掌握TextField文本框 (教程和全部源碼)》
- SwiftUI一篇文章全面掌握Picker,解決數(shù)據(jù)選擇(教程和源碼)
- SwiftUI一篇文章全面掌握Form(教程和源碼)
- SwiftUI Color 顏色一篇文章全解決
技術(shù)交流
QQ:3365059189
SwiftUI技術(shù)交流QQ群:518696470
- 請(qǐng)關(guān)注我的專欄icloudend, SwiftUI教程與源碼
http://www.itdecent.cn/c/7b3e3b671970