gpt4 book ai didi

swift - 为什么即使我为 NSRange 添加了 "==",XCTAssertEqual 也没有将 NSRange 作为参数?

转载 作者:搜寻专家 更新时间:2023-11-01 06:40:24 25 4
gpt4 key购买 nike

示例代码:

import XCTest

func == (lhs: NSRange, rhs: NSRange) -> Bool {
return lhs.location == rhs.location && lhs.length == rhs.length
}

class NSRangeInXCTAssertionEqualTests: XCTestCase {
func testNSRange() {
XCTAssertEqual(NSMakeRange(1, 3), NSMakeRange(2, 5))
}
}

警告说:无法使用类型为“(NSRange, NSRange)”的参数列表调用“XCTAssertEqual”。

是因为NSRange其实是一个Tuple吗?如果我没记错的话,我在放置元组时也遇到过同样的事情。

提前致谢

立伟

最佳答案

这只是因为你忘记声明 NSRange 为 Equatable:

extension NSRange : Equatable {}

关于swift - 为什么即使我为 NSRange 添加了 "==",XCTAssertEqual 也没有将 NSRange 作为参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36168197/

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