Я пытаюсь получить этот кусок кода, работающий в Swift 2:Преобразование между различными Int размерами в Swift 2
func +(left: Character, right: Int) -> String {
return String(UnicodeScalar(String(left).utf16[0] + right))
}
Он работал со старыми версиями Swift.
Во-первых, я преобразовал utf16[0]
в utf16[0].value
, но он говорит, что Binary operator + cannot be applied to operands of type Int16 and Int
.
Также с right
как Int16, не решает.
Первый не составляет от Xcode 7 бета-6 (Int16 не конвертируется в Int). Другой компилируется. – Teejay
Я переписал его как однострочный. Обратите внимание, что вы можете получить доступ к первому индексу коллекции скаляров с помощью 'first':' return String (UnicodeScalar (Int (String (left) .unicodeScalars.first! .value) + right)) ' – Teejay