我想过两种类型的实现;在性能,可读性和可维护性方面,您认为哪一个更好?
>像这样创建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,alpha: 1) }
解决方法
答:扩展,以我的专业意见.
想一想;在哲学上,你是’扩展’UIColor提供的颜色范围.如果您的颜色名称是不同的,并且新功能遵循Apple的方法命名协议(即<颜色名称>颜色),则扩展UIColor似乎更整洁.一种或两种新颜色(在我看来)不保证整个专用结构.
奖金回答:
结构(或枚举!)在哪里适合?
>如果您的应用程序强制替换标准颜色(即自定义)
‘主要’颜色)
>如果您的应用程序专门设计为主题/自定义,那么可以使用枚举,作为可用选项的具体列表.
>如果你不能想到颜色的标准名称(sharkBlueColor,任何人?).
>如果您的应用专门用于绘图/绘画(在这种情况下,“调色板”构造可能是个好主意).
……列表还在继续.当你成熟为Swift开发者时,你必须学会辨别和决定自己!