Я пытаюсь улучшить свои объектно-ориентированные навыки, и я всегда обсуждаю, нужен ли класс или нет.Цвета, которые будут использоваться во всем приложении или классе
У меня есть набор UIColors, что я постоянно используя в течение моего приложения в различных ViewControllers, я изначально, добавив их как постоянные глобалам как следовать ...
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
}
Но потом я решил создал класс, чтобы заставить себя думать более ориентированным способом, как так ...
Color Class
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)
}
}
}
View Controller
import UIKit
class ViewController1{
private var myColor = Color()
// some other code here...
myButton.layer.borderColor = myBlueColor.CGColor
}
Other View Controller
import UIKit
class ViewController1{
private var myColor = Color()
// some other code here...
myButton2.layer.borderColor = myBlueColor.CGColor
}
мой объектно-ориентированный лучший подход? Хорошо, позвольте мне перефразировать это, это даже то, как вы сделали бы это более объектно-ориентированным способом?
Я не знаю, но мой класс Color выглядит странно, просто используя геттеры (вычисленные свойства).
Любые предложения по улучшению моего кода.
РЕДАКТИРОВАТЬ: Не дубликат, потому что меня интересовало улучшение моего объектно-ориентированного примера, а не знание того, можно ли использовать globals.
Благодаря
Возможный дубликат файла [Глобальные константы в Swift] (http://stackoverflow.com/questions/26252233/global-constants-file-in-swift) –