Ошибка: невозможно преобразовать значение типа '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

Другие вопросы по тегам