Swift1.2下标不可用

Swift 1.2 subscript is unavailable

在功能上,在 Xcode 6.2 中完美运行,现在我有一个错误 'subscript' in unavailable: Indexing a String's UTF16View requires a String.UTF16View.Index, which can be constructed from Int when Foundation is imported。这是代码:

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,所以我不能 解释为什么你的代码之前编译过。)