The是实现Swift对象初始化的一个语法糖
初始化UILabel并设置其属性
letlabel=UILabel().the{$0.textAligmet=.ceter$0.textColor=.black$0.text="Hello,World!"}相当于:
letlabel:UILabel={letlabel=UILabel()label.textAligmet=.ceterlabel.textColor=.blacklabel.text="Hello,World!"returlabel}()技巧在所有的NSObject子类中使用 the()
letqueue=OperatioQueue().the{$0.maxCocurretOperatioCout=1}在自定义类中使用,只需进行简单扩展:
extesioMyType:The{}letistace=MyType().the{$0.really="awesome!"}拷贝值类型数据时候 with()
letewFrame=oldFrame.with{$0.size.width=200$0.size.height=100}ewFrame.width//200ewFrame.height//100使用 do() 减少类型处理
UserDefaults.stadard.do{$0.set("devxoul",forKey:"userame")$0.set("devxoul@gmail.com",forKey:"email")$0.sychroize()}真实示例:fialclassMyViewCotroller:UIViewCotroller{lettitleLabel=UILabel().the{$0.textColor=.black$0.textAligmet=.ceter}lettableView=UITableView().the{$0.backgroudColor=.clear$0.separatorStyle=.oe$0.register(MyCell.self,forCellReuseIdetifier:"myCell")}overridefucviewDidLoad(){super.viewDidLoad()self.view.addSubview(self.titleLabel)self.view.addSubview(self.tableView)}}安装ForiOS8+projects with CocoaPods:
pod'The'ForiOS8+projects with Carthage:
github"devxoul/The"Usig SwiftPackageMaager:
importPackageDescriptioletpackage=Package(ame:"MyAwesomeApp",depedecies:[.Package(url:"https://github.com/devxoul/The",majorVersio:2),])
评论