FunctionalSwiftKit 0.1.1

FunctionalSwiftKit 0.1.1

pisces 维护。



  • 作者
  • Steve Kim

FunctionalSwiftKit

CI Status Version License Platform

示例

要运行示例项目,请克隆仓库,然后首先从 Example 目录运行 pod install

使用

条件

  • 您可以根据函数式编程范式使用此功能代替条件语句。
  • 确保线程安全。
  • 它很简单。
  • 全局变量。

使用单条件语句

if <<true or false>> {
} else if <<true or false>> {
} else {
}
condition
  .if(<<true or false>>) {}
  .elseif(<<true or false>>) {}
  .else {}

使用链式多个条件语句

if <<true or false>> {
} else if <<true or false>> {
} else {
}

if <<true or false>> {
} else if <<true or false>> {
} else {
}
condition
  .if(<<true or false>>) {}
  .elseif(<<true or false>>) {}
  .else {}
  .if(<<true or false>>) {}
  .elseif(<<true or false>>) {}
  .else {}

数组扩展

  • 以下是数组中常用的一些函数。
// Sample struct
struct Model: Hashable {
    let uid: String
    var hashValue: Int { return uid.hashValue }

    static func ==(lhs: Model, rhs: Model) -> Bool {
        return lhs.uid == rhs.uid
    }
}

使用与字符串结合的 'grouped' 函数

let source = ["A", "A", "B", "C"]
let grouped = source.grouped { $0 }
// print -> ["A": ["A", "A"], "B": ["B"], "C": ["C"]]

使用与结构体结合的 'grouped' 函数

let source = [Model(uid: "A"), Model(uid: "A"), Model(uid: "B"), Model(uid: "C")]
let grouped = source.grouped { $0.uid }
// print -> ["A": [Model(uid: "A"), Model(uid: "A")], "B": [Model(uid: "B")], "C": [Model(uid: "C")]]

使用 'subtracted' 函数

let source = [Model(uid: "A"), Model(uid: "B")]
let other = [Model(uid: "A")]
let subtracted = source.subtracted(other)
// print -> [Model(uid: "B")]

使用 'uniqued' 函数

let source = [Model(uid: "A"), Model(uid: "A"), Model(uid: "B"), Model(uid: "B")]
let uniqued = source.uniqued()
// print -> [Model(uid: "A"), Model(uid: "B"), Model(uid: "C")]

可选扩展

  • 当你不需要返回元素时,可以使用 Optional 的 unwrap 而不是 map。
import FunctionalSwiftKit

func testUnwrap() {
    let string: String? = "string"
    string.unwrap { <<your function for execution>>($0) }
}

需求

iOS 部署目标 9.0 以上

安装

FunctionalSwiftKit 可通过 CocoaPods 平台获取。要安装它,请简单地在您的 Podfile 中添加以下行:

pod 'FunctionalSwiftKit'

Carthage

Carthage 是一个去中心化的依赖管理器,它构建你的依赖并为你提供二进制框架。

你可以使用以下命令通过 Homebrew 安装 Carthage:

$ brew update
$ brew install carthage

要使用 Carthage 将 FunctionalSwiftKit 集成到你的 Xcode 项目中,请在你的 Cartfile 中指定它。

github "pisces/FunctionalSwiftKit"

运行 carthage update 构建框架并将构建的 FunctionalSwiftKit.framework 拖放到你的 Xcode 项目中。

作者

Steve Kim, [email protected]

许可

FunctionalSwiftKit 在 BSD 2-Clause License 许可下可用。更多信息请参阅 LICENSE 文件。