我正在寻找使用 Objective-C 库saxy https://github.com/reaster/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: "")
MyClass.self
is引用类的正确方法,但也许你错过了@objc
在课堂上?
See 有关互操作的文档 https://developer.apple.com/library/prerelease/ios/documentation/swift/conceptual/buildingcocoaapps/InteractingWithObjective-CAPIs.html#//apple_ref/doc/uid/TP40014216-CH4-XID_36
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)