Swift Then Swift 初始化语法糖开源项目

我要开发同款
匿名用户2019年06月05日
59阅读
开发技术Swift
所属分类其他(Others)、iOS代码库
授权协议MIT

作品详情

Then是实现Swift对象初始化的一个语法糖

初始化UILabel并设置其属性

letlabel=UILabel().then{$0.textAlignment=.center$0.textColor=.black$0.text="Hello,World!"}

相当于:

letlabel:UILabel={letlabel=UILabel()label.textAlignment=.centerlabel.textColor=.blacklabel.text="Hello,World!"returnlabel}()技巧

在所有的NSObject子类中使用 then() 

letqueue=OperationQueue().then{$0.maxConcurrentOperationCount=1}

在自定义类中使用,只需进行简单扩展:

extensionMyType:Then{}letinstance=MyType().then{$0.really="awesome!"}

拷贝值类型数据时候 with() 

letnewFrame=oldFrame.with{$0.size.width=200$0.size.height=100}newFrame.width//200newFrame.height//100

使用 do() 减少类型处理

UserDefaults.standard.do{$0.set("devxoul",forKey:"username")$0.set("devxoul@gmail.com",forKey:"email")$0.synchronize()}真实示例:finalclassMyViewController:UIViewController{lettitleLabel=UILabel().then{$0.textColor=.black$0.textAlignment=.center}lettableView=UITableView().then{$0.backgroundColor=.clear$0.separatorStyle=.none$0.register(MyCell.self,forCellReuseIdentifier:"myCell")}overridefuncviewDidLoad(){super.viewDidLoad()self.view.addSubview(self.titleLabel)self.view.addSubview(self.tableView)}}安装

ForiOS8+projects with CocoaPods:

pod'Then'

ForiOS8+projects with Carthage:

github"devxoul/Then"

Using SwiftPackageManager:

importPackageDescriptionletpackage=Package(name:"MyAwesomeApp",dependencies:[.Package(url:"https://github.com/devxoul/Then",majorVersion:2),])
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论