我试图提高自己的面向对象技能,并且一直在辩论是否需要类。将在整个应用程序或类中使用的颜色
我有一组我经常在不同的ViewControllers使用我的整个应用程序UIColors的,我最初将其添加为全局常量如下开始...
import UIKit
// Global COLORS
let myBlueColor = UIColor(red: 62.0/255, green: 174.0/255, blue: 206.0/255, alpha: 1.0)
// more global colors here...
class ViewController1{
// using my global color
myButton.layer.borderColor = myBlueColor.CGColor
}
// other viewController
import UIKit
class ViewController2{
// using my global color again
myButton2.layer.borderColor = myBlueColor.CGColor
}
但后来我决定创建一类强迫自己认为更注重像这样的方式......
色级
import Foundation
import UIKit
class Color {
var myBlueColor:UIColor{
get{
return UIColor(red: 62.0/255, green: 174.0/255, blue: 206.0/255, alpha: 1.0)
}
}
var myLightGrayColor:UIColor{
get{
return UIColor(red: 249.0/255, green: 249.0/255, blue: 249.0/255, alpha: 1.0)
}
}
var myGreenColor:UIColor{
get{
return UIColor(red: 110.0/255, green: 186.0/255, blue: 64.0/255, alpha: 1.0)
}
}
var myRedColor:UIColor{
get{
return UIColor(red: 247.0/255, green: 118.0/255, blue: 113.0/255, alpha: 1.0)
}
}
var myYellowColor:UIColor{
get{
return UIColor(red: 255.0/255, green: 190.0/255, blue: 106.0/255, alpha: 1.0)
}
}
}
视图控制器
import UIKit
class ViewController1{
private var myColor = Color()
// some other code here...
myButton.layer.borderColor = myBlueColor.CGColor
}
其他视图控制器
import UIKit
class ViewController1{
private var myColor = Color()
// some other code here...
myButton2.layer.borderColor = myBlueColor.CGColor
}
是我的面向对象的更好的方法?好吧,让我重述一下这个,你甚至可以用更加面向对象的方式来做这件事吗?
我不知道,但我的颜色类看起来很奇怪,只是使用getters(计算属性)。
任何建议,以改善我的代码。
编辑:不是重复的,因为我有兴趣改善我的面向对象的例子,而不是知道全局变量是否可以使用。
感谢
Swift中全局常量文件的可能重复(http://stackoverflow.com/questions/26252233/global-constants-file-in-swift) – 2016-02-13 03:08:02