gpt4 book ai didi

ios - 在 Swift 中覆盖符号

转载 作者:行者123 更新时间:2023-11-28 11:22:58 25 4
gpt4 key购买 nike

我正在使用一个名为 SwiftyJSON 的库,我在其中遇到了这个:

 func ==(lhs: JSONValue, rhs: JSONValue) -> Bool {
..stuff here
}

现在看来,无论何时我在其他数据类型上使用我的 == 符号(例如,我只是比较 uigesturerecognizer 方向),它都会抛出错误并提示。似乎在这种情况下,作者毁掉了“==”的一切。但是,当查看代码时,这是否意味着“==”仅在我将 JSONValue 类型的内容与其他 JSONValue 类型的内容进行比较时才会启动(将覆盖)?

如果是这样,那么对于为什么它会在文件中未定义的所有其他数据类型上引发错误有什么想法?

这个文件是:https://github.com/lingoer/SwiftyJSON/blob/master/SwiftyJSON/SwiftyJSON.swift

似乎我必须从字面上重新定义 swiftyjson 文件中的所有数据类型才行。

非常感谢!

最佳答案

您没有指出您收到的是哪个错误,但我假设您的意思是“无法将类型转换为 == 中的 JSONValue”之类的内容。这并不意味着 JSONValue 会影响其他类型。只是 Swift 提示说您要比较的类型无法与 == 进行比较。 Swift 试图找到将其转换为的对象,而 JSONValue 是它选择说无法将其转换为的对象。它也可能会说您的类型无法转换为 Int(通常您会看到它说它无法转换为 UInt8)。希望编译器在未来的版本中能够更好地选择此处的错误消息。

关于ios - 在 Swift 中覆盖符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25313322/

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