Builder
介绍
初始化 UIView build 设置其属性。
let label:UIView = .build{
$0.backgroundColor = .red
$0.clipsToBounds = true
}
let label: UIView = {
let view = UIView()
view.backgroundColor = .red
view.clipsToBounds = true
return view
}()
提示和示例
-
您可以使用build
对所有NSObject
子类进行操作。let view = UIView.build { // Example 1 $0.color = .red }
let view:UIView = .build { (view) in // Example 2 view.color = .red }
let view:UIView = .build { // Example 2 $0.color = .red }
-
您可以使用build
对所有类和结构体
进行操作。只需创建扩展即可。类的初始化实现是必须的,但结构体不必须。extension UserType: EKBuilder {} let instance:UserType = .build{ $0.value = "it's easy if you try!" }
-
示例:以下是在UIViewController子类中的示例使用方法。
class Tesla: EKBuilder { var type:String! var count:Int! required init() {} } struct Audi:EKBuilder { var type:String! var count:Int! } final class ViewController: UIViewController { let tesla:Tesla = .build { $0.type = "Model X" $0.count = 10 } let audi = Audi.build { $0.type = "R8" $0.count = 10 } override func viewDidLoad() { super.viewDidLoad() print(tesla.type, tesla.count) print(audi.type, audi.count) } }
安装
CocoaPods
将以下条目添加到您的Podfile中
pod 'EKBuilder'
然后运行pod install
。
不要忘记在每个想使用Hero的文件中导入import EKBuilder
。
Carthage
将以下条目添加到您的Cartfile
github "erikkamalov/EKBuilder"
然后运行carthage update
。
如果这是您第一次在项目中使用Carthage,您需要按照以下说明进行一些附加步骤(见Carthage)。
许可证
EKBuilder遵循MIT许可证。有关更多信息,请参阅LICENSE文件。