即使我搜索了文档,我似乎无法弄清楚如何做到这一点.
我试图弄清楚如何将数组中索引处的字符转换为整数.
例如,假设我有一个名为“容器”的字符数组,我无法弄清楚该怎么做:
var number:Integer = container[3]
谢谢您的帮助!
解决方法
Swift并不容易在原始和类型表示之间进行转换.这是一个在此期间应该有所帮助的扩展:
extension Character {
func utf8Value() -> UInt8 {
for s in String(self).utf8 {
return s
}
return 0
}
func utf16Value() -> UInt16 {
for s in String(self).utf16 {
return s
}
return 0
}
func unicodeValue() -> UInt32 {
for s in String(self).unicodeScalars {
return s.value
}
return 0
}
}
这使您可以非常接近您想要的:
let container : Array<Character> = [ "a","b","c","d" ] /// can't call anything here,subscripting's also broken let number = container[2] number.unicodeValue() /// Prints "100"
对于遇到此问题的任何工程师,请参阅rdar:// 17494834