【发布时间】:2020-08-23 22:04:59
【问题描述】:
我找到了String's generic instance method withCString(_:),但我需要获取指向多个字符串的指针,并且不希望有一堆嵌套的闭包。例如,假设str1 和str2 都是String 实例,foo 和bar 都是C 结构类型,do_something 是C 函数。那我该怎么做呢?
let ptr1 = str1.pointerThatPersistsEvenAfterPassedToFunction
let ptr2 = str2.pointerThatPersistsEvenAfterPassedToFunction
let c_struct1 = foo(ptr1, 1, 2)
let c_struct2 = bar(ptr2, 3, c_struct1)
do_something(c_struct1, c_struct2)
str1.invalidatePersistentPointer
str2.invalidatePersistentPointer
【问题讨论】: