要将String
转换为UnsafePointer,我使用以下方法:
var tail = ("" as NSString).utf8String
但是,如果不进行NSString
转换,是否有任何方法可以转换?
我在UnsafePointer
方法中使用了C-library
。
答案 0 :(得分:6)
为此有一种特殊的方法:.withCString(_:):
yourString.withCString { pointer in
// work with the pointer
return result
}
或者,如果您希望将其作为属性,则有.utf8CString:
var tail = "".utf8CString // ContiguousArray<CChar> (aka ContiguousArray<Int8>)
// and then
tail.withUnsafeBufferPointer { pointer in
// work with the pointer
return result
}