从Objective-C到Swift之间的桥接后无法识别扩展
问题描述:
我对Swift和Objective-C的专家有疑问。 我正在用swift开发iOS项目。 在这个项目中,我导入了一个与Objective-C桥一起使用的旧版本库(在Objective-C中)。从Objective-C到Swift之间的桥接后无法识别扩展
当我在Swift项目中使用这个库的某些功能时,由于无法识别的扩展名,我遇到了崩溃。
的错误信息是:
- [NSConcreteMutableData AES128EncryptedDataWithKey:]:无法识别的选择发送到实例
此方法在我的图书馆来自一个扩展类(NSData的+ AES128.h)这在Swift方面是不被认可的。 有人知道如何在Swift中引用这个扩展?我真的迷失了!
谢谢!
答
这是一个运行时错误,不是编译器/ Swift错误。所以很可能你忘了将.m文件添加到实现此类别/扩展的项目中,但头部必须显然存在,否则会收到编译器警告。
不,不是原因。该库没有警告,并且Objective-C项目可以正常工作。 但是对于Swift项目,我有这个错误,就好像这个桥没有考虑到这个扩展。 – user3281706