gpt4 book ai didi

xcode - 如何针对 namespace 冲突强制执行编译器警告或错误?

转载 作者:IT王子 更新时间:2023-10-29 05:21:56 24 4
gpt4 key购买 nike

考虑我有以下内容:

  • FrameworkA,它定义了类 Foo
  • FrameworkB,它还定义了类 Foo
  • FrameworkA 中导入 FrameworkB 的文件

如何让 Xcode 在不使用命名空间限定符的情况下在引用 Foo 的任何行上生成警告或错误?

例如:

let a = FrameworkA.Foo() // fine, no warning or error
let b = FrameworkB.Foo() // fine, no warning or error
let c = Foo() // at a minimum, a warning

我完全理解,如果我们在 FrameworkA 中,那么第三个示例等同于 FrameworkA.Foo(),但我希望 Xcode 生成警告或错误。

考虑类 Foo 已经在 FrameworkB 中存在很长时间的场景,并且有问题的代码行一直打算指向类 Foo 定义在 FrameworkB 中,但在以后的某个时候,有人出于某种原因将类 Foo 添加到 FrameworkA 中。这将改变文件中行的行为。

我希望 Xcode 在任何时候在没有显式声明命名空间的情况下使用导入到文件中的多个框架中定义的内容时生成编译时警告或错误。

有办法吗?

最佳答案

不幸的是,我认为目前 Xcode 不支持这一点——一些不太有效的解决方案:

  • 打开 radar task ,并希望Apple修复它。
  • 给你的类加上前缀(就像我们以前对 Obj-C 所做的那样)

第二个选项对于大多数项目应该是可行的;而不是 Foo 和 Foo,您将拥有 LIBAFooLIBBFoo,但在实践中,具有更有意义的前缀,即 CAC动画。

关于xcode - 如何针对 namespace 冲突强制执行编译器警告或错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29879140/

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