首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CString来自NSData

CString来自NSData
EN

Stack Overflow用户
提问于 2014-06-10 17:57:28
回答 3查看 849关注 0票数 0

我试图用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代码示例中,这种方式是可行的。为什么不在斯威夫特?有什么想法吗,我怎样才能把NSData带到CString上呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-06-10 18:21:23

您需要先将其转换为NSString,然后才能使用cString()函数:

代码语言:javascript
复制
   let xmlData = NSData()
   let cocoaString = NSString(data: xmlData, encoding: NSUTF8StringEncoding)

   let cString = cocoaString.cString()
票数 2
EN

Stack Overflow用户

发布于 2014-06-10 18:14:17

这应该适用于string.bridgeToObjectiveC().UTF8String

票数 0
EN

Stack Overflow用户

发布于 2015-05-29 08:18:24

你可以用..。

let cString = string.cStringUsingEncoding(NSUTF8StringEncoding)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24147825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档