RxEnumKit 2.0.0

RxEnumKit 2.0.0

Giuseppe Lanza 维护。



 
依赖项
EnumKit~> 1.1
RxCocoa~> 6.0
 

RxEnumKit 2.0.0

  • Giuseppe Lanza

RxEnumKit

Build Status Swift Package Manager cocoapods

RxEnumKit 是 EnumKit 的响应式扩展。它扩展了 ObservableTypeSharedSequenceConvertibleType 以在处理枚举案例流时提供更多的灵活性。

使用 RxEnumKit,您将能够从流中的每个 CaseAccessible 枚举元素中提取关联值、映射、压缩映射、扁平映射、过滤和排除情况。

拥有一个 CaseAccessible 枚举和 Observables

enum MyEvent: CaseAccessible {
    case eventA(String)
    case eventB(foo: Int)
}

let observable: Observable<MyEvent>

使用 RxEnumKit,以下模式将变得可行

observable.capture(case: MyEvent.eventA)
    .subscribe(onNext: { value in //String
        ...
    })

observable.map(case: MyEvent.eventB, String.init)
    .subscribe(onNext: { value in // String
        ...
    })

要求

  • Xcode 11
  • Swift 5.1

安装

RxEnumKit 提供了 cocoapodsswiftPM

通过 Cocoapods

# Podfile
use_frameworks!

target 'YOUR_TARGET_NAME' do
    pod 'RxEnumKit', '~> 1.0.2'
end

替换 YOUR_TARGET_NAME,然后在 Podfile 目录中输入以下内容:

$ pod install

通过 Swift Package Manager

创建一个 Package.swift 文件。

// swift-tools-version:5.0

import PackageDescription

let package = Package(
  name: "YourProjectName",
  dependencies: [
    .package(url: "https://github.com/gringoireDM/RxEnumKit.git", from: "1.0.2")
  ],
  targets: [
    .target(name: "YourProjectName", dependencies: ["RxEnumKit"])
  ]
)
$ swift build