蘋果聯合收割機框架的開源實現,以隨著時間的推移處理值。
該項目的主要目標是提供兼容,可靠和有效的實現,該實現可在MacOS 10.15和iOS 13以及Linux,Windows和WebAssembly之前在Apple的操作系統上使用。
| CI狀態 |
|---|
OpenCombine包含三個公共目標: OpenCombine , OpenCombineFoundation和OpenCombineDispatch (第四個, COpenCombineHelpers ,被認為是私人的。不要在您的項目中導入它)。
OpenCombine本身沒有任何依賴性。甚至沒有基礎或派遣。如果您想將OpenCombine與Dispatch一起使用(例如,用於使用DispatchQueue作為Scheduler ,例如debounce , receive(on:)等),則需要導入OpenCombine和OpenCombineDispatch 。同樣適用於基礎:如果您想使用,例如NotificationCenter或URLSession Publishers,則需要導入OpenCombineFoundation 。
如果您為多個平台開發代碼,則可能會發現更方便地導入OpenCombineShim模塊。它有條件地重新出口在Apple平台上(如果有),以及其他平台上的所有OpenCombine模塊。您只能在使用SwiftPM時導入OpenCombineShim 。它目前不適用於可可錄。
要將OpenCombine添加到SwiftPM軟件包中,請將OpenCombine軟件包添加到Package.swift依賴項列表中。 WebAssembly目前不支持OpenCombineDispatch和OpenCombineFoundation產品。如果您的項目僅針對WebAssembly,則應從依賴項列表中省略它們。如果它針對包括WebAssembly在內的多個平台,則僅在具有條件目標依賴性的非巡迴儀平台上取決於它們。
dependencies: [
. package ( url : " https://github.com/OpenCombine/OpenCombine.git " , from : " 0.14.0 " )
] ,
targets: [
. target (
name : " MyAwesomePackage " ,
dependencies : [
" OpenCombine " ,
. product ( name : " OpenCombineFoundation " , package : " OpenCombine " ) ,
. product ( name : " OpenCombineDispatch " , package : " OpenCombine " )
]
) ,
] OpenCombine也可以直接在您的Xcode項目中作為SwiftPM依賴關係添加(需要Xcode 11向上) 。
為此,打開XCode,使用文件→ Swift軟件包→添加軟件包依賴關係… ,輸入存儲庫URL,選擇最新的可用版本,然後激活複選框:

要將OpenCombine添加到一個使用Cocoapods的項目中,請將OpenCombine和OpenCombineDispatch添加到Podfile中的目標依賴項列表中。
pod 'OpenCombine' , '~> 0.14.0'
pod 'OpenCombineDispatch' , '~> 0.14.0'
pod 'OpenCombineFoundation' , '~> 0.14.0' 文件opencombine_lldb.py定義了一些lldb類型摘要,以便於調試。這些類型的摘要改善了lldb和XCode顯示一些opencombine值的方式。
要使用opencombine_lldb.py ,請弄清楚其完整路徑。假設完整的路徑是~/projects/OpenCombine/opencombine_lldb.py 。然後以下到您的~/.lldbinit文件:
command script import ~/projects/OpenCombine/opencombine_lldb.py
當前, opencombine_lldb.py定義了這些類型的類型摘要:
Subscribers.Demand參見貢獻。