gpt4 book ai didi

ios - Swift 2 中与 XCTAssert 的对象比较

转载 作者:行者123 更新时间:2023-11-28 21:36:18 26 4
gpt4 key购买 nike

我有一个类:

class Person: NSObject {
var name: String

init(name: String) {
self.name = name
}
}

在我的测试中,我初始化了同一个类的两个实例,然后比较它们:

func testSomething() {
let x = Person("A")
let y = Person("A")

XCTAssert(x == y)
}

我无法让测试通过。我尝试了 ===XCTAssertEqualXCTAssertTrue - 但似乎没有任何效果。

最佳答案

为了能够使用 == 运算符测试 2 个对象,您需要为您的 Person 类实现 Equatable 协议(protocol),例如:

func ==(lhs: Person, rhs: Person) -> Bool {
return lhs.name == rhs.name
}

并且由于你继承自已经实现了它的NSObject,你只需要实现该功能而不需要将Equatable添加到Person类(实际上不会编译,因为它已经在 NSObject 声明中说明)

关于ios - Swift 2 中与 XCTAssert 的对象比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33809614/

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