C Swift:如何将数据复制到不透明指针?

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

我有一个从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: (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已定义