1

不幸的是,我在 Objective C 中定义了一个类(Class.h,Class.m)和另一个在 Swift(Class.swift)中具有相同名称的类。

我有一个桥接头,我在其中导入类

#import "Class.h"

现在,我想创建一个从 Objective C 返回类的方法。有没有办法指定我想使用 Objective C 类而不是 swift 类,或者我应该开始重命名我的类?

4

1 回答 1

4

重命名类。我不是 100% 如何@objc处理未标记的 Swift 类,但是拥有两个具有相同名称的类并没有什么好处,即使它们是用不同的语言编写的。如果 Swift 版本对 Objective-C 端是可见的,那么你就有一个明确的问题,你不能确定什么时候实例化Class你会得到哪一个。理论上它可以在程序的每次运行时发生变化,尽管在实践中类加载器可能过于确定而不会发生。

于 2015-11-19T11:38:40.080 回答