0

関数では、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])
    }
}
4

1 に答える 1

1

String.UTF16Viewは であるため、そのプロパティCollectionTypeを使用して最初の要素のインデックスを取得できます。startIndex

extension Character {
    var keyCode: Int {
        let utf16view = String(self).utf16
        return Int(utf16view[utf16view.startIndex])
    }
}

(私のコンピューターにはもう Xcode 6.2 がありません。そのため、以前にコードをコンパイルした理由を説明することはできません。)

于 2015-04-11T14:23:34.640 に答える