Objective c 如何访问和控制Swift中的字符***

Objective c 如何访问和控制Swift中的字符***,objective-c,swift,Objective C,Swift,我有一个c API,如下所示: int enumDataFormat(char ***SampleNames); 银行代码: var formats=UnsafeMutablePointer.alloc(1) let count=enumDataFormat(&formats) 对于0..中的索引,您可以使用以下非安全指针在Swift中执行指针算术: let oldPointer = UnsafePointer<UInt8>() let newPointer = oldPointe

我有一个c API,如下所示:

int enumDataFormat(char ***SampleNames);
银行代码:
var formats=UnsafeMutablePointer.alloc(1)
let count=enumDataFormat(&formats)

对于0..中的索引,您可以使用以下非安全指针在Swift中执行指针算术:

let oldPointer = UnsafePointer<UInt8>()
let newPointer = oldPointer + 10
let oldPointer=UnsafePointer()
设newPointer=oldPointer+10
它创建10字节的偏移量


您可以使用以下非安全指针在Swift中执行指针算术:

let oldPointer = UnsafePointer<UInt8>()
let newPointer = oldPointer + 10
let oldPointer=UnsafePointer()
设newPointer=oldPointer+10
它创建10字节的偏移量

您不需要
alloc()
,只需要“指针指向”类型的变量 指向Int8”的指针,类似于(目标-)C代码:

您不需要
alloc()
,只需要“指针指向”类型的变量 指向Int8”的指针,类似于(目标-)C代码:


你说Oldpoint是什么意思?它在for循环中吗?关于oldPointer你是什么意思?它在循环中吗?太棒了!谢谢你的回答。不可女性化的指针是它作为[Int8]的行为对吗?太棒了!谢谢你的回答。Unsafemeutablepointer是否充当[Int8]对吗?
let oldPointer = UnsafePointer<UInt8>()
let newPointer = oldPointer + 10
var formats : UnsafeMutablePointer<UnsafeMutablePointer<Int8>> = nil
let count = Int(enumDataFormat(&formats))
for i in 0 ..< count {

    let formatString = formats[i]
    if let format = String.fromCString(formatString) {
        println(format)
    } else {
        // Not a valid UTF-8 string.
    }
}