Ошибка XCode при ограничении количества символов, разрешенных в UITextVIew - PullRequest
0 голосов
/ 16 апреля 2020

Я продолжаю получать две ошибки в этом блоке кода, оба из которых утверждают, что «тип выражения неоднозначен без дополнительного контекста». Я следую учебному пособию, учебное пособие использует счетчик (descriptionTextView.text), и я обнаружил, что это больше не поддерживается, и теперь вы должны вместо этого использовать text.count. Кроме этого, я ничего не изменил из блока кода, который работает в учебнике.

func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText 
text: String) -> Bool {
        if range.length + range.location > text.count(descriptionTextView.text) {
            return false
    }
    let newlength = text.count(descriptionTextView.text) + text.count(text) - range.length
    return newlength <= 750
}

Строка 3 и 6, где я получаю обе ошибки, кто-нибудь знает, как сделать это однозначным? Заранее спасибо!

1 Ответ

0 голосов
/ 17 апреля 2020

Попробуйте это

    func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
    let currentText = textView.text ?? ""
    guard let stringRange = Range(range, in: currentText) else { return false }
    let updatedText = currentText.replacingCharacters(in: stringRange, with: text)
    return updatedText.count <= 750
}
...