C Swift:如何将数据复制到不透明指针?
我有一个从C调用的Swift函数。该函数在C中定义如下:C Swift:如何将数据复制到不透明指针?,c,swift,C,Swift,我有一个从C调用的Swift函数。该函数在C中定义如下: int (*load_session_func)( signal_buffer **record, const signal_protocol_address *address, void *user_data); Swift的等价物是: public var load_session_func: (@convention(c) record: (Unsaf
int (*load_session_func)(
signal_buffer **record,
const signal_protocol_address *address,
void *user_data);
Swift的等价物是:
public var load_session_func: (@convention(c)
record: (UnsafeMutablePointer<OpaquePointer?>?,
address: UnsafePointer<signal_protocol_address>?,
userData: UnsafeMutableRawPointer?)
-> Int32)!
public var load_session_func:(@convention(c)
记录:(非女性化指针?,
地址:UnsafePointer?,
userData:unsafemeutablerawpointer?)
->Int32)!
因此,我需要在Swift中实现load_session_func(),并将一些数据字节放入record参数中。如何将数据中的字节放入OpaquePointer?我无法使用withUnsafeBytes,因为C代码将在我的函数返回后使用这些字节。C代码可以修改记录字节吗?您的Swift代码将使用C代码修改的字节吗?保留2个或更多字节的副本是否有问题?
数据
是否绝对必须是Swift中存储字节的数据类型?只是想了解一下你想要完成的事情。Swift代码似乎充当了C代码调用存储和加载的存储器。API已定义