Ответ 1
advancedBy(_:)
устарел в Swift v3 и заменен на index(_:offsetBy:)
. Подробнее см. В руководстве Apple .
Решение вашей ошибки:
let range = key.startIndex...key.index(key.startIndex, offsetBy: 0)
В настоящее время я использую XCode 8 и в строке
let range = key.startIndex...key.startIndex.advancedBy(0)
Я получаю сообщение об ошибке:
Ошибка: "advancedBy" недоступен: для продвижения индекса на n шагов вызовите "index (_: offsetBy:)" в экземпляре CharacterView, который создал индекс.
Как я могу это исправить?
Снимок экрана с ошибкой ниже:
advancedBy(_:)
устарел в Swift v3 и заменен на index(_:offsetBy:)
. Подробнее см. В руководстве Apple .
Решение вашей ошибки:
let range = key.startIndex...key.index(key.startIndex, offsetBy: 0)
Вы можете добиться того, что вам нужно, просто построив новую строку, а не управляя старой:
let upperCasedFirstCharacter = String(key.characters.first!).uppercased()
let remainder = key.substring(from: key.characters.index(after: key.characters.startIndex))
let selector = "set\(upperCasedFirstCharacter)\(remainder)"