Apple的Combine框架的开源实现,用于处理随时间变化的值。
这个项目的主要目标是提供一个兼容、可靠和高效的实现,可以在macOS 10.15和iOS 13之前的Apple操作系统上使用,以及Linux、Windows和WebAssembly上使用。
| CI状态 |
|---|
OpenCombine包含三个公共 目标:OpenCombine、OpenCombineFoundation和OpenCombineDispatch(第四个COpenCombineHelpers被视为私有,不要在你的项目中导入它)。
OpenCombine本身没有任何依赖,甚至不依赖Foundation或Dispatch。如果你想将OpenCombine与Dispatch一起使用(例如,将DispatchQueue作为Scheduler用于debounce、receive(on:)等操作符),你需要同时导入OpenCombine和OpenCombineDispatch。Foundation也是如此:如果你想使用例如NotificationCenter或URLSession发布者,你还需要导入OpenCombineFoundation。
如果你为多个平台开发代码,你可能会发现导入OpenCombineShim模块更方便。它在Apple平台上有条件地重新导出Combine(如果可用),在其他平台上导出所有OpenCombine模块。你只能在使用SwiftPM时导入OpenCombineShim。它目前不适用于CocoaPods。
要将OpenCombine添加到你的SwiftPM包中,请在你的Package.swift文件中的包和目标依赖列表中添加OpenCombine包。OpenCombineDispatch和OpenCombineFoundation产品目前不支持WebAssembly。如果你的项目专门针对WebAssembly,你应该将它们从依赖列表中省略。如果它针对包括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,选择最新可用版本,并激活复选框:
<p align="center"> <img alt="选择OpenCombine和OpenCombineDispatch目标" src="https://user-images.githubusercontent.com/16309982/67618468-bd379f80-f7f8-11e9-917f-e76e878a1aee.png" width="70%"> </p>要将OpenCombine添加到使用CocoaPods的项目中,在你的Podfile中的目标依赖列表中添加OpenCombine和OpenCombineDispatch。
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请参阅CONTRIBUTING.md。


GPT充值
支持 ChatGPT Plus / Pro 充值服务,支付便捷,自动发货,售后可查。


AI 图片生成平台
GPT Image 2 是面向用户的 AI 图片生成平台,支持文生图、图生图及多模型创意工作流。


你的AI Agent团队
Vecbase 是专为 AI 团队打造的智能工作空间,将数据管理、模型协作与知识沉淀整合于一处。算法、产品与业务在同一平台无缝协同,让从数据到 AI 应用的落地更快一步。


全球首个AI音乐社区
音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。


阿里Qoder团队推出的桌面端AI智能体
QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。


一站式搞定所有学习需求
不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。


为AI短剧协作而生
专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。


能听懂你表达的视频模型
Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。


国内直接访问,限时3折
输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动


职场AI,就用扣子
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!
最新AI工具、AI资讯
独家AI资源、AI项目落地

微信扫一扫关注公众号