最近在调试项目中的性能的时候,经常修改一大堆相同的属性,比如
timeLabel.isOpaque = true pageLabel.isOpaque = true ideaLabel.isOpaque = true tagsLabel.isOpaque = true
就在思想能不能简单的通个一个方法,传入数据源,然后来设置相同的属性,于是 Together
就产生了,使用 Together
之后代码
timeLabel.together(values: pageLabel, ideaLabel, tagLabel).do { $0.isOpaque = true }
使用方法也比较简单
整体思路也比较简单,利用 Swift
的 Protocol
和 Extension
,默认为 AnyObject
和遵守 Hashable
的类添加不同的方法
// 返回传入数组的TogetherArray func together(values: Self...) -> TogetherArray<Self> // 返回传入数组处理成Set的TogetherSet func together(values: Self...) -> TogetherSet<Self>
然后分别为其添加 do
方法来进行数组遍历执行共同的属性
Together