即使我搜索了文档,我似乎无法弄清楚如何做到这一点.
我试图弄清楚如何将数组中索引处的字符转换为整数.
例如,假设我有一个名为“容器”的字符数组,我无法弄清楚该怎么做:
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