当我定义枚举时:
enum Test: CGFloat {
case zero
}
和两个类似下面的函数:
func test(_ param: CGFloat) {
print("param - \(param)")
}
func test(_ param: Test) {
print("param - \(param.rawValue)")
}
当我尝试使用它们时出现问题:
test(Test.zero) <- prints "param - 0"
test(.zero) <- error: ambiguous use of .zero
虽然我知道编译器与 的两个定义发生冲突.zero
,但我试图确定它在 Xcode 12.5 的发行说明中的更改位置。也许有人可以指出我正确的方向?看起来它在 12.4 中工作。
笔记:
它可以通过以下方式修复:
- 更好的 API 设计;
@_disfavoredOverload
按照以下对话使用。