Inlinit 0.1.2

Inlinit 0.1.2

测试已测试
Lang语言 SwiftSwift
许可证 MIT
发布最新发布2016年1月
SPM支持 SPM

Jo Albright 维护。



Inlinit 0.1.2

一种新的设计模式,允许闭包初始化。

用法

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

动机

希望能够在闭包内进行独特定制,同时允许使用常量。

示例 1

先前代码

// needs to be "var" to allow append below
var randomNumbersArray: [Int] = []

for _ in 0...10 {

    randomNumbersArray.append(Int(arc4random_uniform(100)))

}

新代码

// can now use let and append within initializer closure
let randomNumbersArray: [Int] {

    for _ in 0...10 {

        $0.append(Int(arc4random_uniform(100)))

    }

}
示例 2
struct Person: Inlinit {

    var age: Int = 0
    var name: String?

}

// initialize & set properties
var me = Person {

    $0.name = "Jo"
    $0.age = 32

}

// update properties
me <- {

    $0.age = 30
    $0.name = "John"

}
示例 3
func newLabel(text: String) -> UILabel {

    let label: UILabel = UILabel(frame: CGRect(x: 10, y: 10, width: 100, height: 40))

    label.text = text
    label.textColor = UIColor.magentaColor()

    return label

}

newLabel("This is lame...")

新代码

func newLabel(text: String) -> UILabel {

    return UILabel {

        $0.frame = CGRect(x: 10, y: 10, width: 100, height: 40)
        $0.textColor = UIColor.magentaColor()

    }.text = text

}

newLabel("This is Awesome!")

这种新的设计模式打开了许多可能性

安装

Inlinit 通过 CocoaPods 提供。要安装它,请简单地将以下行添加到 Podfile 中:

pod "Inlinit"

Inlinit 还可以通过 Swift Package Manager 提供。请查看链接以了解如何使用 SPM 的更多信息。

import PackageDescription

let package = Package(
    name: "YOUR_PACKAGE_NAME",
    dependencies: [
        .Package(url: "https://github.com/joalbright/Inlinit.git", majorVersion: 0)
    ]
)

作者

Jo Albright

许可证

Inlinit 在 MIT 许可下提供。有关更多信息,请参阅 LICENSE 文件。