我試圖提高自己的面向對象技能,並且一直在辯論是否需要類。將在整個應用程序或類中使用的顏色
我有一組我經常在不同的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