我正在製作一個遊戲來學習Swift並試圖使代碼更乾淨更好。 我製作的一個叫做Utilities
類:工具類與陣列
class Utilities: NSObject {
//Red, Green, Blue, Yellow, Purple
public let mColors = ["#DA4167", "#81E979","#2B3A67", "#FFFD82", "#3D315B"]
class func hexStringToUIColor (hex:String) -> UIColor {
var cString:String = hex.trimmingCharacters(in: .whitespacesAndNewlines).uppercased()
if (cString.hasPrefix("#")) {
cString.remove(at: cString.startIndex)
}
if ((cString.characters.count) != 6) {
return UIColor.gray
}
var rgbValue:UInt32 = 0
Scanner(string: cString).scanHexInt32(&rgbValue)
return UIColor(
red: CGFloat((rgbValue & 0xFF0000) >> 16)/255.0,
green: CGFloat((rgbValue & 0x00FF00) >> 8)/255.0,
blue: CGFloat(rgbValue & 0x0000FF)/255.0,
alpha: CGFloat(1.0)
)
}
}
如何使用mColors另一個類? 我有另一個類,在那裏我試圖用mColors,這是該行:
mRingOne.fillColor = Utilities.hexStringToUIColor(hex: mColors[0])
我得到這個錯誤:
Use of unresolved identifier 'mColors'
實用工具類幾乎都是一個錯誤的決定。 'hexStringToUIColor'可能會更好,因爲'UIColor'擴展 – Sulthan
謝謝,我想我現在會堅持這個類,因爲我需要在那裏放更多的方法。 – swiftnewbie
這不是Java。正如蘇丹和哈米什指出的那樣,斯威夫特讓我們擴展了其他民族的階級。我們儘可能使用這些方法,而不是對任何其他地方都不適合的整個混蛋兒方法進行任意實用類。 – Alexander