gpt4 book ai didi

ios - 字符串上的 XCTAssertEqual 总是失败

转载 作者:行者123 更新时间:2023-11-29 11:52:38 26 4
gpt4 key购买 nike

我正在尝试将字典解析为 NewsItem 对象。XTAssert("testString"== "testString")XCTAssertEqual("testString", "testString") 不会失败。我使用 Swift 3 和 Xcode 8.0。

NewsItemTests

XCTAssert(s == t) //Also fails

我像这样解析 newsItem.newsPreamble

let newsPreamble: String

...
self.newsPreamble = dictionary["NewsPreamble"] as? String ?? ""

最佳答案

从你的调试器输出

(lldb) po (s.data(using: .utf8)! as NSData)
<e2808be2 808b7465 73745374 72696e67>

可以看到字符串有两个“不可见”的字符,E2 80 8BU+200B 的 UTF-8 序列,它是“零宽度空间”。

删除开头(和结尾)的空格是一种可能解决方案:

var s = "\u{200B}\u{200B}testString"
print(s) // testString
print(s.data(using: .utf8)! as NSData) // <e2808be2 808b7465 73745374 72696e67>
print(s == "testString") // false

s = s.trimmingCharacters(in: .whitespaces)
print(s == "testString") // true

关于ios - 字符串上的 XCTAssertEqual 总是失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40483295/

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