使用swift和objective-c桥接头文件和框架的命名空间冲突

古斯塔沃·阿姆加滕

我有一个使用Objective-CSwift的混合项目

使用 Cocoapods,我导入了一个框架,其中包含一个名为User其中的类但是在我自己的项目中,我还有一个名为User.

在我的 Swift 文件中,我想使用 Objective-CUser类,但还要导入 Cocoapod Swift Framework。

我的User类被导入到桥接头文件中,但我收到此错误:

'User' is ambiguous for type lookup in this context

在这行代码中:

let user = DTKSession.getShared().user as! User

当我搜索此错误时,我找不到与我的情况相关的任何内容,但我认为这可能与命名空间冲突有关,因为此问题是在我导入具有其他 User 类的 Swift Framework 之后开始的。

我读到如果我想指定 Framework 类,我可以写FrameWorkName.User,但我找不到如何在桥接头上指定类。

我能做什么?

伊泽里克

尝试命名空间User类。它看起来像这样:

// use the class from different frameworks
let user1 = Framework1.User()
let user2 = Framework2.User()

// use the class from the main project
let user4 = User()
let user3 = MyProject.User()    // also works like this, if you want to be explicit. Here MyProject is the product module name

尝试使用第四个选项。

否则,最简单的方法是重命名您的 Objective-cUser类。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

添加使用swift类的目标c类来桥接头文件Projectname_swift.h

Swift没有选项在Build Options下添加Ob-C桥接头文件

使用Swift和Objective-C的iOS框架,其中Objective-C使用Swift C

Objective-C框架和名称空间冲突

使用swift和objective-c下载文件

EXC_BAD_ACCESS Xcode 来自我在 Objective-C++ 和 swift 桥接头中的 C++ 包装器

C ++中的头文件和名称空间

尝试在带有桥接头的Swift项目中尝试使用Objective-C库

如何使用桥接头将Objective-C cocoapod导入Swift

如何将Objective-C和Swift混合使用以构建cocoapods框架

如何在Objective-C项目中导入和使用Swift Pod框架

链接头文件:Matlab Engine和OpenGL

PHP 命名空间和框架

使用现有的[iPhone App] XCode项目使用Swift Package Manager(SPM)(具有Swift和Objective C文件)

如果使用Cocoapods和use_frameworks !,是否应该使用Obj-C桥接头?

Objective-C和Swift URL编码

Swift 和 Objective-C 之间的 NSInvalidArgumentException

在Objective-C和Swift之间的UserDefaults

initWithDictionary:在Objective-C和Swift中

Swift 和 Objective-C 之间的 UIGestureRecognizer

混合Swift和Objective-C

Swift和Objective-C中的CellForRowAtIndexPath

命名空间和函数名称冲突

单个头文件中的命名空间和类及其方法定义如何在多个头文件或cpp文件中使用呢?

将Objective-C库和Swift库与Cocoapods一起使用时生成错误

使用扩展和追加功能将Swift方法转换为Objective-C

如何为Objective-C NSArray使用getter和setter定义Swift协议

用于Obj-C的Swift桥接头

头文件和名称空间的混淆

TOP 榜单

热门标签

归档