Я пишу простое расширение для UIColor взять шестнадцатеричную строку Основы this answer:Невозможно преобразовать возвращаемое выражение типа «UIColor» для возвращения типа '[UIColor] о продлении UIColor
import UIKit
extension UIColor {
public static func colorWithString (hex:String) -> UIColor {
var cString:String = hex.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet()).uppercaseString
if (cString.hasPrefix("#")) {
cString = (cString as NSString).substringFromIndex(1)
}
if (cString.characters.count != 6) {
return UIColor.grayColor()
}
let rString = (cString as NSString).substringToIndex(2)
let gString = ((cString as NSString).substringFromIndex(2) as NSString).substringToIndex(2)
let bString = ((cString as NSString).substringFromIndex(4) as NSString).substringToIndex(2)
var r:CUnsignedInt = 0, g:CUnsignedInt = 0, b:CUnsignedInt = 0;
NSScanner(string: rString).scanHexInt(&r)
NSScanner(string: gString).scanHexInt(&g)
NSScanner(string: bString).scanHexInt(&b)
return UIColor(red: CGFloat(r)/255.0, green: CGFloat(g)/255.0, blue: CGFloat(b)/255.0, alpha: CGFloat(1))
}
}
Теперь я ясно видно, что тип возвращаемого значения UIColor
, но когда я пытаюсь использовать его:
UIColor.colorWithString("F9264E")
я получаю:
Невозможно преобразовать обратное выражение типа 'UIColor' для возврата типа '[UIColor]'
Что происходит?
Ваш код работает отлично для меня в игровые площадки, каково ваше окружение? –
Xcode 7.2, ориентированный на iOS 9.2. – brandonscript
он работает отлично 'UIDeviceRGBColorSpace 0.976471 0.14902 0.305882 1' У меня такая же среда, как и вы, что-то неприятное –