我想到了两种实现方式:在性能,可读性和可维护性方面,您认为其中哪一个更好?
创建像这样的UIColor扩展
extension UIColor { class func myColor() -> UIColor { return UIColor(red: 128/255, green: 102/255, blue: 0, alpha: 1) }
}
创建一个结构:
struct Colors { static let myColor = UIColor(red: 255/255, green: 102/255, blue: 0, alpha: 1)
答: 扩展,以我的专业意见。
考虑一下;从哲学上讲,您是在“扩展”所提供的颜色范围UIColor。如果您的颜色名称是唯一的,并且新功能遵循Apple的方法命名协议(即<colorname>Color),则扩展UIColor似乎更整洁。一种或两种新颜色(以我的观点)并不能保证全部是专用的struct。
UIColor
<colorname>Color
struct
奖励答案:(struct或enum!) 在哪里合适?
enum
sharkBlueColor
…清单继续。随着Swift开发人员的成熟,您必须学会识别并自行决定!