gpt4 book ai didi

swift - 带有文本的文本字段中的退格键导致崩溃

转载 作者:行者123 更新时间:2023-11-28 06:43:55 24 4
gpt4 key购买 nike

我有一个正在检查小写字母、大写字母、数字和特殊字符的文本字段。当我输入它们中的每一个时,它会做它应该做的事情。但是,如果我删除一个字符,它会崩溃。我很确定它与 0 有关,但我不确定该怎么做

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {

let newText = range.length == 0 ? roomPasscode.text! + string : (roomPasscode.text! as NSString).stringByReplacingCharactersInRange(range, withString: string)

let hasUppercaseCharacters = newText.hasUppercaseCharacters()
let hasLowercaseCharacters = newText.hasLowercaseCharacters()
let hasNumberCharacters = newText.hasNumberCharacters()
let hasSpecialCharacters = newText.hasSpecialCharacters()
let isTenCharactersLong = newText.characters.count == 10

oneUpperMet.textColor = hasUppercaseCharacters ? .greenColor() : .redColor()
oneLowerMet.textColor = hasLowercaseCharacters ? .greenColor() : .redColor()
oneNumMet.textColor = hasNumberCharacters ? .greenColor() : .redColor()
oneSpecialMet.textColor = hasSpecialCharacters ? .greenColor() : .redColor()
tenCharMet.textColor = isTenCharactersLong ? .greenColor() : .redColor()



if hasUppercaseCharacters && hasLowercaseCharacters && hasNumberCharacters && hasSpecialCharacters && isTenCharactersLong {
clickableButton.tintColor = UIColor.greenColor()
}

return true
}

最佳答案

这个三元组的else参数:

let newText = range.length == 0 ? roomPasscode.text! + string : (roomPasscode.text! as NSString).stringByReplacingCharactersInRange(range, withString: string)

正在尝试删除一个不存在的字符。尝试像这样保留它以便快速修复:

let newText = range.length == 0 ? roomPasscode.text! + string : roomPasscode.text!

关于swift - 带有文本的文本字段中的退格键导致崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37087346/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com