使用String isEmpty检查空字符串

使用String isEmpty检查空字符串,string,swift,String,Swift,Swift编程语言提到使用isEmpty检查空字符串。是否存在根据“”检查字符串与使用isEmpty的结果不同的情况 换言之: if str.isEmpty { XCTAssert(str == "", "This should be true as well") } 从: 通过检查字符串的布尔isEmpty属性,确定字符串值是否为空: 空字符串是唯一的空字符串,因此在任何情况下,string.isEmpty()都不会返回与string==“”相同的值。当然,他们可能会在不同的时间和记忆中这

Swift编程语言提到使用isEmpty检查空字符串。是否存在根据“”检查字符串与使用isEmpty的结果不同的情况

换言之:

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

通过检查字符串的布尔isEmpty属性,确定字符串值是否为空:


空字符串是唯一的空字符串,因此在任何情况下,
string.isEmpty()
都不会返回与
string==“”
相同的值。当然,他们可能会在不同的时间和记忆中这样做。他们是否使用了不同的时间和内存是一个未描述的实现细节,但是
isEmpty
是签入Swift(如文档所示)的首选方法。

我不明白你的意思,
“用相等的方式签入字符串会不会不一样?”
检查字符串是否相等可确定它们是否相等。它并没有说两者是否为空。如果您已经知道另一个字符串为空,则只能使用相等性检查来确定该字符串是否为空,但如果您真正关心的是这一点,则使用
isEmpty
可能是更好的做法(这更像是自我记录)。也许问题是在引擎盖下发生了什么?@nhgrif为这一混乱感到抱歉-用例子重新表述问题。@Arc676在这种情况下,唯一的答案可能是“谁在乎”,因为这将随时根据苹果的意愿进行更改,恕不另行通知。作为编程的一般规则,我们不应该在后台编写代码。
if emptyString.isEmpty {
    print("Nothing to see here")
}