✨ Super sweet syntactic sugar for Swift initializers.
Initialize UILabel then set its properties.
let label = UILabel().then { 0ドル.textAlignment = .center 0ドル.textColor = .black 0ドル.text = "Hello, World!" }
This is equivalent to:
let label: UILabel = { let label = UILabel() label.textAlignment = .center label.textColor = .black label.text = "Hello, World!" return label }()
-
You can use
then()to all ofNSObjectsubclasses.let queue = OperationQueue().then { 0ドル.maxConcurrentOperationCount = 1 }
-
Want to use with your own types? Just make extensions.
extension MyType: Then {} let instance = MyType().then { 0ドル.really = "awesome!" }
-
Use
with()when copying the value types.let newFrame = oldFrame.with { 0ドル.size.width = 200 0ドル.size.height = 100 } newFrame.width // 200 newFrame.height // 100
-
Use
do()to do something with less typing.UserDefaults.standard.do { 0ドル.set("devxoul", forKey: "username") 0ドル.set("devxoul@gmail.com", forKey: "email") 0ドル.synchronize() }
Here's an example usage in an UIViewController subclass.
final class MyViewController: UIViewController { let titleLabel = UILabel().then { 0ドル.textColor = .black 0ドル.textAlignment = .center } let tableView = UITableView().then { 0ドル.backgroundColor = .clear 0ドル.separatorStyle = .none 0ドル.register(MyCell.self, forCellReuseIdentifier: "myCell") } override func viewDidLoad() { super.viewDidLoad() self.view.addSubview(self.titleLabel) self.view.addSubview(self.tableView) } }
-
Using CocoaPods :
pod 'Then'
-
Using Swift Package Manager :
import PackageDescription let package = Package( name: "MyAwesomeApp", dependencies: [ .Package(url: "https://github.com/devxoul/Then", majorVersion: 2), ] )
Then is under MIT license. See the LICENSE file for more info.