【问题标题】:iPhone string comparison strange issue in iOS 6iOS 6中的iPhone字符串比较奇怪问题
【发布时间】:2014-03-03 12:38:10
【问题描述】:

我用来比较txt字段中输入的文本如下,

if ([myTextfield.text isEqualToString: @""])
{
 // success code
}
else
{
 // my code
}

在 iOS 7 中,此检查非常有效。如果在文本字段中没有输入任何内容,则条件为成功。但在 iOS 6 中,如果该字段为空,则此条件始终为 false 并移至 else 块。

所以我确实喜欢,

if (myTextfield.text.length == 0)
{
 // success code
}
else
{
 // my code
}

这很好用,我只是想知道我的第一种方法有什么问题。

【问题讨论】:

    标签: ios objective-c ios7 uitextfield


    【解决方案1】:

    如果 myTextfield.textnil[myTextfield.text isEqualToString: @""] 将失败,因为消息传递 nil 返回 nil(或 0,NO 视情况而定)。

    在第二种情况下,您正在检查== 0,因此即使字符串是nil,您仍然会得到肯定的结果。

    【讨论】:

      【解决方案2】:

      在 iOS7 中,未修改的 UITextFields 返回 nil,而在之前的 iOS 版本中,它们返回空字符串。在这两种情况下触摸的 UITextFields 都应该返回一个空字符串。

      (你问这个问题是不是把 iOS6 w 7 弄错了?如果没有,我还要确保文本字段正确连接,因为触摸的 iOS7 文本字段可能会返回一个空字符串,而未合成的 iOS6 文本字段@ 987654321@,因为iOS6在这方面特别严格。)

      【讨论】:

        猜你喜欢
        • 2011-09-18
        • 1970-01-01
        • 2011-04-07
        • 2011-05-06
        • 1970-01-01
        • 2019-10-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多