我正在开发一个项目,其中编写了许多函数,这些函数掩盖了与普通 SwiftUI 函数完全相同的接口。
即
func padding(_ padding: OurOwnPadding) -> some View
这里的
OurOwnPadding
不是SwiftUI
类型,而是已作为自定义类型添加到项目中。
这意味着当您在视图中并执行
.padding(.horizontal)
操作时。尽管看起来您正在使用 SwiftUI 函数,但实际上并非如此。你用的就是这个。
我们正在尝试删除这些功能,但最好不要让新实例使用它。
我可以以某种方式标记这个函数,以便选择实际的普通 SwiftUI 函数而不是这个函数吗?只有当我做了类似的事情时,它才应该选择这个功能。
let padding = OurOwnPadding.horizontal
...
.padding(padding)
您可以用
padding
标记您自己的
@_disfavoredOverload
方法。从文档来看,
使用
解决重载解析规则中的已知错误,这些错误在不中断源代码的情况下无法立即修复。不要使用它来调整重载解析规则,否则这些规则是合理的,但会为您的特定 API 产生不良结果@_disfavoredOverload
从您对情况的描述来看,这似乎是“重载解析规则无法在不中断源代码的情况下立即修复”的情况。