Ошибка: невозможно преобразовать значение типа 'String' в ожидаемый тип аргумента 'Character'
Я сталкиваюсь с этой ошибкой, используя Swift 4. Я пытаюсь получить индекс элемента в массиве.
if removedLetters.contains(selectedLetter!) {
print("\(selectedLetter!) is in the word")
print(theWordArray.index(of: "\(selectedLetter)"))
}
результаты в error: cannot convert value of type 'String' to expected argument type 'Character'
Я также попытался создать символьную переменную var selectedChar:Character = selectedLetter
но я получаю ошибку преобразования: error: cannot convert value of type 'String?' to specified type 'Character'
1 ответ
Вы можете конвертировать String
к Character
доступ к первой букве, если вы уверены, что selectedLetter
это одно письмо.
if removedLetters.contains(selectedLetter!) {
print("\(selectedLetter!) is in the word")
print(theWordArray.index(of: "\(theWordArray[selectedLetter!.first!])")
}
Если это больше, чем одна буква, ваш код будет аварийно завершен, поэтому сначала сделайте проверку.
@paper111 Есть ли метод экземпляра строки, эквивалентный .first
в Свифте 3?
Я пытаюсь повернуть variable: Int
в тип символа для передачи в качестве аргумента .contains(String(variable).first