2016-02-16 29 views
0

我有这样的代码在夫特以产生从一个十六进制码的RGB值2.0夫特:类型的值(_) - >不具有成员“发电机”

class func colorWithHex(hexString: String?, alpha: CGFloat) -> UIColor? { 

    if let hexString = hexString { 

     var error : NSError? = nil 

     let regexp = try! NSRegularExpression(pattern:"\\A#[0-9a-f]{6}\\z", options: [.CaseInsensitive]) 

     let thrange = NSMakeRange(0, count(hexString)) 

     let thcount = regexp.numberOfMatchesInString(hexString, options: .ReportProgress, range: thrange) 

     if thcount != 1 { 

      return nil 
     } 

     var rgbValue : UInt32 = 0 

     let scanner = NSScanner(string: hexString) 

     scanner.scanLocation = 1 
     scanner.scanHexInt(&rgbValue) 

     let red = CGFloat((rgbValue & 0xFF0000) >> 16)/255.0 
     let green = CGFloat((rgbValue & 0xFF00) >> 8)/255.0 
     let blue = CGFloat((rgbValue & 0xFF))/255.0 

     return UIColor(red: red, green: green, blue: blue, alpha: alpha) 
    } 

然而,它的抛出错误,我认为这可能是因为代码是为Swift1.2编写的,但我不太了解Swift语言,但尚未解析此错误试图告诉我的内容。

该行let thrange = NSMakeRange(0, count(hexString))count(hexString)上抛出一个错误,说value of type '(_)-> _'has no member 'Generator'这是什么意思?

回答

2

In Swift 2.0 count()已被移除,代替您现在使用的地方hexString.characters.count

相关问题