【发布时间】:2020-08-18 11:34:38
【问题描述】:
我正在编写与 C 库接口的 Swift 代码。该库公开了一个不完整的结构,我将其包装在一个 Swift 类中。这个结构的初始化函数接受一个char* 参数,或者在Swift 中是UnsafeMutablePointer<UInt8>。该库不提供稍后分配不同指针的方法。
我试图弄清楚如何将UnsafeMutablePointer<UInt8> 转换为 Swift 字符串,主要有两个要求。首先,字符串应该是可变的而不改变指针。其次,指针(和字符串)的生命周期应该与包装对象的生命周期一样长。
这可能吗?如果可以,怎么做?
【问题讨论】:
-
对答案的一些反馈将不胜感激 :) 如果您需要更多信息,请告诉我!
标签: swift string language-interoperability unsafemutablepointer