考虑我有以下内容:
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
1}},但是在将来某个时候,由于某种原因,有人将Foo
添加到FrameworkA
。这会改变文件中行的行为。
我希望Xcode在使用导入文件的多个框架中定义的内容时生成编译时警告或错误,而不显式声明名称空间。
有办法吗?
答案 0 :(得分:2)
我不认为Xcode在这一点上支持这一点 - 一些不太富有成效的解决方案:
对于大多数项目,第二种选择应该是可行的;而不是Foo和Foo,你将拥有LIBAFoo
,LIBBFoo
,但在实践中,有更有意义的前缀,即 CA → C A 强> nimation。