【问题标题】:Use String isEmpty to check for empty string使用 String isEmpty 检查空字符串
【发布时间】:2015-11-23 13:55:51
【问题描述】:

Swift 编程语言提到使用 isEmpty 来检查空字符串。是否存在针对“”检查字符串的情况与使用 isEmpty 产生的结果不同?

换句话说:

if str.isEmpty {
 XCTAssert(str == "", "This should be true as well")
}

来自documentation

通过检查其 Boolean isEmpty 属性找出 String 值是否为空:

if emptyString.isEmpty {
    print("Nothing to see here")
}

【问题讨论】:

  • 我不明白你的意思,"Will checking string with equality not do the same?" 检查字符串是否相等确定它们是否相等。它没有说其中一个是否为空。如果您已经知道另一个字符串为空,则只能使用相等性检查来确定一个字符串是否为空,但使用 isEmpty 可能是更好的做法,如果这是您真正关心的(它更自我记录)。
  • 也许问题在于幕后发生了什么?
  • @nhgrif 很抱歉造成混淆 - 用示例改写问题。
  • @Arc676 在这种情况下,唯一的答案可能是“谁在乎”,因为这将始终按照 Apple 的意愿进行更改,恕不另行通知。作为编程的一般规则,我们不应该围绕引擎盖下发生的事情编写代码。

标签: string swift


【解决方案1】:

空字符串是唯一的空字符串,因此不应出现string.isEmpty() 不返回与string == "" 相同的值的情况。当然,他们可能会在不同的时间和记忆中这样做。他们是否使用不同的时间和内存是未描述的实现细节,但isEmpty 是检查 Swift 的首选方式(如文档所述)。

【讨论】:

    猜你喜欢
    • 2013-03-16
    • 2011-04-01
    • 2017-11-25
    • 1970-01-01
    • 2018-11-28
    • 1970-01-01
    • 1970-01-01
    • 2011-12-15
    • 2014-02-20
    相关资源
    最近更新 更多