iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 1
1

What is Combine?

2019 年 7 月,apple 在 wwdc 介紹了全新的 SwiftUI,一個以宣告式編程結合響應式編程的所見即所得 UI 設計工具,而其中最讓人興奮的莫過於綁定 UI 的響應式編程函式庫: Combine, 在 Swift 社群內有個著名的函式庫: RxSwift,就是使用 Swift 建立響應式編程的.

這次將好好的介紹何為響應式編程,響應式編程的常見函式,及如何使用 Combine 函式庫.

Combine 是 Apple 對函數響應式編程的實現,類似於 RxSwift。 RxSwift 本身是 ReactiveX 一個實現。Apple 的框架使用了許多與其他語言庫相同的函數響應概念,應用在Swift的使用特性之上。

Combine 應用環境介紹:

Swift 5.1
xcode 11

由於筆者撰筆時, Ubuntu Swift 尚未 推出 5.1 因此這次將以 macOS 為主, 搭配 Xcode 11 beta 5。
請參考 Swift.org

Before dive into it

在學習 Combine 時,有部分必須理解的 "先修知識",若讀者有部分不了解的,建議可以稍微搜尋一下,都不是很難,不用擔心。

  1. Reference type(參考型別)與 Value Type(數值型別)
  2. 物件導向程式設計(Object-oriented programming,OOP)
  3. 設計模式之觀察者模式(observer design pattern)
  4. FluentInterface (方法鏈式調用)

其中 觀察者模式 的應用不是很明顯,方法鏈式調用可以參考 AppCoda 的文章:利用 Swift 5.1 新功能實作 Fluent Interface 讓程式碼更易讀流暢!

簡單測驗:

  1. 參考型別在 Swift 中的物件生命週期是由哪個機制管理的?數值型別呢?
  2. 如何實作繼承型別的型態抹除?
  3. 觀察者模式的三個階段是什麼?(不包含 Error handling)
  4. 實作方法鏈調用的關鍵是什麼?

whoami:
我是游諭 ytyubox


下一篇
30 天了解 Swift 的 Combine: [02] 介紹響應式編程
系列文
30 天了解 Swift 的 Combine30

尚未有邦友留言

立即登入留言