如何将Swift类传递给需要类的Objective-C方法?

时间:2014-06-08 23:58:19

标签: swift

我希望使用Objective-C库saxy将一些XML解析为对象,但方法签名是:

+ (id)rootXPath:(NSString *)xpath toMany:(Class)toType nsURI:(NSString *)nsURI;

我无法弄清楚我如何传递Class对象类型,因为Swift似乎不能以这种方式使用类。作为一种解决方法,我可能会使域模型+在Objective-C中成为一个包装器,但很高兴知道是否有一种方法可以在纯Swift中完成它。

我已尝试过以下操作,但我收到了EXC_BAD_INSTRUCTION:

OXmlElementMapper.rootXPath("/route", toMany: Route.self, nsURI: "")

这会产生语法错误:

OXmlElementMapper.rootXPath("/route", toMany: Route.Type, nsURI: "")

1 个答案:

答案 0 :(得分:4)

MyClass.self 引用课程的正确方法,但也许您在课堂上遗漏了@objc

请参阅docs regarding interop