这是Objective-C方法中的C代码
char addressBuffer [100];
但是如何用Swift语言定义这个char呢?
我尝试这样的东西,但这不起作用:
var addressBuffer:CChar(100)
这是文档https://developer.apple.com/library/prerelease/ios/documentation/swift/conceptual/buildingcocoaapps/InteractingWithCAPIs.html
这个Swift代码似乎分配了一些可用作大小为100的C char数组的东西(用于C互操作需求):
var addressBuffer = [Int8](count: 100, repeatedValue: 0) // test it addressBuffer[0] = 65 // 'A' addressBuffer.withUnsafePointerToElements() { (addrBuffPtr : UnsafePointer<CChar>) -> () in // use pointer to memory var x0 = addrBuffPtr.memory println("The ASCII value at index 0 is \(x0)") var myCOpaquePointer = COpaquePointer(addrBuffPtr) // use C pointer for interoperation calls }
这是在Swfit中获得一个漂亮的unicode字符数组的方法:
var charArray: Array<Character> = Array(count: 100, repeatedValue: "?")
如果最初用100个问号填充你的数组.
用CChar
,例如:
var charArray: Array<CChar> = Array(count: 100, repeatedValue: 32) // 32 is the ascii space