我正在尝试在Swift中编写一个简单的html解析器。我通过桥头导入了libxml。但现在我通过将xml文件放入CString
来解决问题。方法htmlReadMemory
需要CString作为第一个参数。我将xml文件加载到NSData中。传递data.bytes
不起作用。我收到了错误
Could not find an overload for '__conversion' that accepts the supplied arguments.
在obj-c代码示例中,这种方式有效。为什么不在Swift?任何想法,我如何将NSData带到CString?
答案 0 :(得分:2)
您需要先将其转换为NSString
,然后才能使用cString()
功能:
let xmlData = NSData()
let cocoaString = NSString(data: xmlData, encoding: NSUTF8StringEncoding)
let cString = cocoaString.cString()
答案 1 :(得分:0)
这适用于string.bridgeToObjectiveC().UTF8String
。
答案 2 :(得分:0)
你可以使用......
let cString = string.cStringUsingEncoding(NSUTF8StringEncoding)