gpt4 book ai didi

ios - `if` 使用十进制字符串的语句在应该为真时返回假

转载 作者:可可西里 更新时间:2023-11-01 00:52:11 27 4
gpt4 key购买 nike

当通过在 swift 中覆盖下面的方法来检查文本字段时:

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

当我在文本字段中输入 1 时,下面的行返回 false

var hasLeadingOne = length > 0 && decimalString.characterAtIndex(0) == (1 as unichar)

hasLeadingOne 返回 false 但当我在文本字段中输入 1 时它应该是 true。此外,即使转换为 unichar,decimalString.characterAtIndex(0) 的值似乎也是 49 而不是 1。我错过了什么?

最佳答案

一个建议...不是使用您构建的复杂 bool 测试,Swift 提供了一种简单的方法来检查 String 是否以特定字符序列开头:hasPrefix 。您可以像这样简化代码:

var hasLeadingOne = decimalString.hasPrefix("1")

如果您想使用您编写的 bool 测试,我相信这会起作用:

var hasLeadingOne = length > 0 && decimalString.characterAtIndex(0) == (49 as unichar)

关于ios - `if` 使用十进制字符串的语句在应该为真时返回假,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34206967/

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