EKBuilder 1.0.2

EKBuilder 1.0.2

Erik Kamalov 维护。



EKBuilder 1.0.2

  • Erik Kamalov

Builder

contributions welcome Swift Version CocoaPods Build Status Carthage compatible

超简单通用的构建器模式。如果你想试试看💪.

介绍

初始化 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文件。