一尘不染

如何在Swift语言中将字符串转换为CString?

swift

我试图将dispatch_queue_create与我在运行时创建的动态字符串一起用作第一个参数。编译器抱怨,因为它期望使用标准的c字符串。如果我将其切换为编译时定义的字符串,错误就会消失。谁能告诉我如何将String转换为标准c字符串?


阅读 374

收藏
2020-07-07

共1个答案

一尘不染

您可以得到CString如下:

import Foundation

var str = "Hello, World"

var cstr = str.bridgeToObjectiveC().UTF8String

编辑: Beta 5更新- bridgeToObjectiveC()不再存在(感谢@Sam):

var cstr = (str as NSString).UTF8String
2020-07-07