UITextField 崩溃撤消键盘图标

UITextField crash undo keyboard icon

在 iPad 应用程序中遇到此错误。在文本字段键盘将出现。写任何文本,如“qwertyuio”,然后多次复制并粘贴此文本,直到达到限制。现在,从键盘应用程序按撤消将崩溃。我试图搜索但无法找到任何解决方案。 例外: “由于未捕获的异常 'NSRangeException',正在终止应用程序,原因:'NSMutableRLEArray replaceObjectsInRange:withObject:length:: Out of bounds'”

代码,我正在使用:

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, 
 replacementString string: String) -> Bool {
   if textField.text?.count >= 40 && string != ""{
                
      return false
                
   }
  return true
}

请提供解决方案。 谢谢

挖掘几个小时后。我找到了这个的解决方案。

   var textSize = 0
            
   if range.length == 0 {
      //adding
      textSize = range.location + string.count
   }else{
       //removing from field
       textSize = range.location - range.length
    }
            
    if textSize >= 50 {

       return false

    }else {
       if (string.isEmpty && range.length > 0) {
       textField.text = textField.text!.count > range.length ? String(textField.text!.dropLast(range.length)) : ""
       return false
    }

现在工作正常。