在函数中,在 Xcode 6.2 中完美运行,现在我遇到了一个错误 “下标”不可用:索引字符串的 UTF16View 需要一个 String.UTF16View.Index,它可以在导入 Foundation 时从 Int 构造
。这是代码:
extension Character {
var keyCode: Int {
return Int(String(self).utf16[0])
}
}
在这段代码中我遇到了同样的错误:
extension NSEvent {
var character: Int {
return Int(charactersIgnoringModifiers!.utf16[0])
}
}
最佳答案
String.UTF16View
是一个CollectionType
,因此你可以获取索引
使用第一个元素的 startIndex
属性:
extension Character {
var keyCode: Int {
let utf16view = String(self).utf16
return Int(utf16view[utf16view.startIndex])
}
}
(我的计算机上不再有 Xcode 6.2,因此我无法 解释一下为什么你的代码之前编译过。)
关于macos - Swift 1.2 下标不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29578860/