gpt4 book ai didi

macos - 无法使用 '==' 类型的参数列表调用 '(UInt16, UInt16)' 吗?

转载 作者:行者123 更新时间:2023-11-30 10:21:07 25 4
gpt4 key购买 nike

为什么这不起作用并产生“无法使用类型为'(UInt16, UInt16)'的参数列表调用'=='?”错误:

func performKeyEquivalent(theEvent: NSEvent) -> Bool {
let keyCode = theEvent.keyCode

return keyCode == kVK_Return as UInt16
}

这有效:

func performKeyEquivalent(theEvent: NSEvent) -> Bool {
let keyCode = theEvent.keyCode

return keyCode == UInt16(kVK_Return)
}

最佳答案

我认为 kVK_Return 是一个 #define 或 const 整数,并且您正在尝试转换为 unsigned int。在 swift 中,没有从一种类型到另一种类型的隐式或显式转换,即使它是概念上相似的类型,例如有符号和无符号整数。

您必须显式转换,而不是强制转换,这就是您在第二个代码片段中所做的事情:创建一个使用有符号整数初始化的 UInt16 的新实例。

关于macos - 无法使用 '==' 类型的参数列表调用 '(UInt16, UInt16)' 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26505235/

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