[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-7027":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":17,"rankGlobal":9,"rankLanguage":9,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":19,"hasPages":19,"topics":21,"createdAt":9,"pushedAt":9,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":15,"starSnapshotCount":15,"syncStatus":29,"lastSyncTime":30,"discoverSource":31},7027,"ReactiveSwift","ReactiveCocoa\u002FReactiveSwift","ReactiveCocoa","Streams of values over time",null,"Swift",3029,432,71,3,0,1,29.91,"MIT License",false,"master",[22,23,24,25],"reactive-programming","reactive-streams","reactiveswift","swift","2026-06-12 02:01:33","\u003Cp align=\"center\">\n\t\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FReactiveCocoa\u002FReactiveSwift\u002F\">\u003Cimg src=\"Logo\u002FPNG\u002Flogo-Swift.png\" alt=\"ReactiveSwift\" \u002F>\u003C\u002Fa>\u003Cbr \u002F>\u003Cbr \u002F>\n\tStreams of values over time. Tailored for Swift.\u003Cbr \u002F>\u003Cbr \u002F>\n\t\u003Ca href=\"http:\u002F\u002Freactivecocoa.io\u002Freactiveswift\u002Fdocs\u002Flatest\u002F\">\u003Cimg src=\"Logo\u002FPNG\u002FDocs.png\" alt=\"Latest ReactiveSwift Documentation\" width=\"143\" height=\"40\" \u002F>\u003C\u002Fa> \u003Ca href=\"http:\u002F\u002Freactivecocoa.io\u002Fslack\u002F\">\u003Cimg src=\"Logo\u002FPNG\u002FJoinSlack.png\" alt=\"Join the ReactiveSwift Slack community.\" width=\"143\" height=\"40\" \u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\u003Cbr \u002F>\n\n[![Carthage compatible](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCarthage-compatible-4BC51D.svg?style=flat)](#carthage) [![CocoaPods compatible](https:\u002F\u002Fimg.shields.io\u002Fcocoapods\u002Fv\u002FReactiveSwift.svg)](#cocoapods) [![SwiftPM compatible](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSwiftPM-compatible-orange.svg)](#swift-package-manager) [![GitHub release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Frelease\u002FReactiveCocoa\u002FReactiveSwift.svg)](https:\u002F\u002Fgithub.com\u002FReactiveCocoa\u002FReactiveSwift\u002Freleases) ![Swift 5.1](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSwift-5.1-orange.svg) ![platforms](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fplatform-iOS%20%7C%20macOS%20%7C%20tvOS%20%7C%20watchOS%20%7C%20Linux-lightgrey.svg)\n\n🚄 [Release Roadmap](#release-roadmap)\n\n## Getting Started\n\nLearn about the **[Core Reactive Primitives][]** in ReactiveSwift, and **[Basic Operators][]** available offered by these primitives.\n\n### Extended modules\n\n\u003Ctable>\n\u003Ctr>\n\t\u003Cth>Module\u003C\u002Fth>\n\t\u003Cth>Repository\u003C\u002Fth>\n\t\u003Cth>Description\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n\t\u003Ctd>ReactiveCocoa\u003C\u002Ftd>\n\t\u003Ctd>\n\t\t\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FReactiveCocoa\u002FReactiveCocoa\">ReactiveCocoa\u002FReactiveCocoa\u003C\u002Fa>\n\t\t\u003Cbr \u002F>\n\t\t\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FReactiveCocoa\u002FReactiveCocoa\u002Freleases\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Frelease\u002FReactiveCocoa\u002FReactiveCocoa.svg\" \u002F>\u003Ca>\n\t\u003C\u002Ftd>\n\t\u003Ctd>\u003Cp>Extend Cocoa frameworks and Objective-C runtime APIs with ReactiveSwift bindings and extensions.\u003C\u002Fp>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\t\u003Ctd>Loop\u003C\u002Ftd>\n\t\u003Ctd>\n\t\t\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FReactiveCocoa\u002FLoop\">ReactiveCocoa\u002FLoop\u003C\u002Fa>\n\t\t\u003Cbr \u002F>\n\t\t\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FReactiveCocoa\u002FLoop\u002Freleases\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Frelease\u002FReactiveCocoa\u002FLoop.svg\" \u002F>\u003Ca>\n\t\u003C\u002Ftd>\n\t\u003Ctd>\u003Cp>Composable unidirectional data flow with ReactiveSwift.\u003C\u002Fp>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\t\u003Ctd>ReactiveSwift Composable Architecture\u003C\u002Ftd>\n\t\u003Ctd>\n\t\t\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftrading-point\u002Freactiveswift-composable-architecture\">trading-point\u002Freactiveswift-composable-architecture\u003C\u002Fa>\n\t\t\u003Cbr \u002F>\n\t\t\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftrading-point\u002Freactiveswift-composable-architecture\u002Freleases\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Frelease\u002Ftrading-point\u002Freactiveswift-composable-architecture.svg\" \u002F>\u003Ca>\n\t\u003C\u002Ftd>\n\t\u003Ctd>\u003Cp>The \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpointfreeco\u002Fswift-composable-architecture\">Pointfree Composable Architecture\u003C\u002Fa> using ReactiveSwift instead of Combine.\u003C\u002Fp>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n## What is ReactiveSwift in a nutshell?\n__ReactiveSwift__ offers composable, declarative and flexible primitives that are built around the grand concept of ___streams of values over time___.\n\nThese primitives can be used to uniformly represent common Cocoa and generic programming patterns that are fundamentally an act of observation, e.g. delegate pattern, callback closures, notifications, control actions, responder chain events, [futures\u002Fpromises](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FFutures_and_promises) and [key-value observing](https:\u002F\u002Fdeveloper.apple.com\u002Flibrary\u002Fmac\u002Fdocumentation\u002FCocoa\u002FConceptual\u002FKeyValueObserving\u002FKeyValueObserving.html) (KVO).\n\nBecause all of these different mechanisms can be represented in the _same_ way,\nit’s easy to declaratively compose them together, with less spaghetti\ncode and state to bridge the gap.\n\n## References\n\n1. **[API Reference][]**\n\n1. **[API Contracts][]**\n\n   Contracts of the ReactiveSwift primitives, Best Practices with ReactiveSwift, and Guidelines on implementing custom operators.\n\n1. **[Debugging Techniques][]**\n\n1. **[RxSwift Migration Cheatsheet][]**\n\n## Installation\n\nReactiveSwift supports macOS 10.13+, iOS 11.0+, watchOS 4.0+, tvOS 11.0+ and Linux.\n\n#### Carthage\n\nIf you use [Carthage][] to manage your dependencies, simply add\nReactiveSwift to your `Cartfile`:\n\n```\ngithub \"ReactiveCocoa\u002FReactiveSwift\" ~> 6.1\n```\n\nIf you use Carthage to build your dependencies, make sure you have added `ReactiveSwift.framework` to the \"_Linked Frameworks and Libraries_\" section of your target, and have included them in your Carthage framework copying build phase.\n\n#### CocoaPods\n\nIf you use [CocoaPods][] to manage your dependencies, simply add\nReactiveSwift to your `Podfile`:\n\n```\npod 'ReactiveSwift', '~> 6.1'\n```\n\n#### Swift Package Manager\n\nIf you use Swift Package Manager, simply add ReactiveSwift as a dependency\nof your package in `Package.swift`:\n\n```\n.package(url: \"https:\u002F\u002Fgithub.com\u002FReactiveCocoa\u002FReactiveSwift.git\", from: \"6.1.0\")\n```\n\n#### Git submodule\n\n 1. Add the ReactiveSwift repository as a [submodule][] of your\n    application’s repository.\n 1. Run `git submodule update --init --recursive` from within the ReactiveCocoa folder.\n 1. Drag and drop `ReactiveSwift.xcodeproj` into your application’s Xcode\n    project or workspace.\n 1. On the “General” tab of your application target’s settings, add\n    `ReactiveSwift.framework` to the “Embedded Binaries” section.\n 1. If your application target does not contain Swift code at all, you should also\n    set the `EMBEDDED_CONTENT_CONTAINS_SWIFT` build setting to “Yes”.\n\n## Playground\n\nWe also provide a Playground, so you can get used to ReactiveCocoa's operators. In order to start using it:\n\n 1. Clone the ReactiveSwift repository.\n 1. Retrieve the project dependencies using one of the following terminal commands from the ReactiveSwift project root directory:\n     - `git submodule update --init --recursive` **OR**, if you have [Carthage][] installed\n     - `carthage checkout`\n 1. Open `ReactiveSwift.xcworkspace`\n 1. Build `ReactiveSwift-macOS` scheme\n 1. Finally open the `ReactiveSwift.playground`\n 1. Choose `View > Show Debug Area`\n\n## Have a question?\nIf you need any help, please visit our [GitHub issues][] or [Stack Overflow][]. Feel free to file an issue if you do not manage to find any solution from the archives.\n\n## Release Roadmap\n**Current Stable Release:**\u003Cbr \u002F>[![GitHub release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Frelease\u002FReactiveCocoa\u002FReactiveSwift.svg)](https:\u002F\u002Fgithub.com\u002FReactiveCocoa\u002FReactiveSwift\u002Freleases)\n\n### Plan of Record\n#### ABI stability release\nReactiveSwift has no plan to declare ABI and module stability at the moment. It will continue to be offered as a source only dependency for the foreseeable future.\n\n[Core Reactive Primitives]: Documentation\u002FReactivePrimitives.md\n[Basic Operators]: Documentation\u002FBasicOperators.md\n[How does ReactiveSwift relate to RxSwift?]: Documentation\u002FRxComparison.md\n[API Contracts]: Documentation\u002FAPIContracts.md\n[API Reference]: http:\u002F\u002Freactivecocoa.io\u002Freactiveswift\u002Fdocs\u002Flatest\u002F\n[Debugging Techniques]: Documentation\u002FDebuggingTechniques.md\n[RxSwift Migration Cheatsheet]: Documentation\u002FRxCheatsheet.md\n[Online Searching]: Documentation\u002FExample.OnlineSearch.md\n[_UI Examples_ playground]: https:\u002F\u002Fgithub.com\u002FReactiveCocoa\u002FReactiveSwift\u002Fblob\u002Fmaster\u002FReactiveSwift-UIExamples.playground\u002FPages\u002FValidatingProperty.xcplaygroundpage\u002FContents.swift\n\n[`Action`]: Documentation\u002FReactivePrimitives.md#action-a-serialized-worker-with-a-preset-action\n[`SignalProducer`]: Documentation\u002FReactivePrimitives.md#signalproducer-deferred-work-that-creates-a-stream-of-values\n[`Signal`]: Documentation\u002FReactivePrimitives.md#signal-a-unidirectional-stream-of-events\n[`Property`]: Documentation\u002FReactivePrimitives.md#property-an-observable-box-that-always-holds-a-value\n\n[ReactiveCocoa]: https:\u002F\u002Fgithub.com\u002FReactiveCocoa\u002FReactiveCocoa\u002F#readme\n\n[Carthage]: https:\u002F\u002Fgithub.com\u002FCarthage\u002FCarthage\u002F#readme\n[CocoaPods]: https:\u002F\u002Fcocoapods.org\u002F\n[submodule]: https:\u002F\u002Fgit-scm.com\u002Fdocs\u002Fgit-submodule\n\n[GitHub issues]: https:\u002F\u002Fgithub.com\u002FReactiveCocoa\u002FReactiveSwift\u002Fissues?q=is%3Aissue+label%3Aquestion+\n[Stack Overflow]: http:\u002F\u002Fstackoverflow.com\u002Fquestions\u002Ftagged\u002Freactive-cocoa\n\n[Looking for the Objective-C API?]: https:\u002F\u002Fgithub.com\u002FReactiveCocoa\u002FReactiveObjC\u002F#readme\n[Still using Swift 2.x?]: https:\u002F\u002Fgithub.com\u002FReactiveCocoa\u002FReactiveCocoa\u002Ftree\u002Fv4.0.0\n","ReactiveCocoa\u002FReactiveSwift 是一个用于处理随时间变化的数据流的 Swift 库。它提供了核心的响应式编程原语，如信号（Signal）和属性（Property），以及一系列操作符来处理和转换这些数据流，使得开发者能够以声明式的方式编写更简洁、易读且易于维护的代码。该项目专为 Swift 语言设计，并支持多种平台包括 iOS、macOS、tvOS 和 watchOS 等。ReactiveSwift 非常适合需要处理复杂异步逻辑的应用场景，比如网络请求、UI 事件绑定等，特别是在构建响应式用户界面时能发挥重要作用。",2,"2026-06-11 03:10:10","top_language"]