【发布时间】:2016-12-03 07:55:05
【问题描述】:
将我的项目转换为 swift 3 后,我在此块的第一行收到以下 Value of type 'String' has no member 'stringByTrimmingCharactersInSet' 错误:
extension UIColor {
convenience init (hex:String) {
var cString:String = hex.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet()).uppercased() // error appears on this line
if (cString.hasPrefix("#")) {
cString = (cString as NSString).substring(from: 1)
}
let rString = (cString as NSString).substring(to: 2)
let gString = ((cString as NSString).substring(from: 2) as NSString).substring(to: 2)
let bString = ((cString as NSString).substring(from: 4) as NSString).substring(to: 2)
var r:CUnsignedInt = 0, g:CUnsignedInt = 0, b:CUnsignedInt = 0;
Scanner(string: rString).scanHexInt32(&r)
Scanner(string: gString).scanHexInt32(&g)
Scanner(string: bString).scanHexInt32(&b)
self.init(red: CGFloat(r) / 255.0, green: CGFloat(g) / 255.0, blue: CGFloat(b) / 255.0, alpha: CGFloat(1))
}
}
我猜这个错误是由于'stringByTrimmingCharactersInSet' 的语法变化造成的。对此有什么更正?
【问题讨论】:
-
你应该问自己为什么不能靠自己找到答案。
-
您是否尝试过输入
hex.trim并查看自动完成功能为您找到了什么?或者查看"Apply API Guidelines to the Standard Library" 进化提案?