【发布时间】:2019-12-03 07:36:53
【问题描述】:
我在 swift 中使用了一个 api,它为我提供了一个将数据发送到某个目的地的函数,该函数有一个 UnsafeMutablePointer 类型的参数。 astruct 是一个结构体,具有三个变量,第一个是数据,即 UnsafePointer 类型,第二个是要发送的 uint32 类型的字节,目标是第三个。
现在的问题是如何使用这个函数,如何给这些变量调用函数并初始化结构。
我要发送的数据是一个数组 [0xf0,0xf7,0x03,0x01]。 我现在该怎么办?不能接受数组作为 astruct 中的数据,它应该是 UnsafePointer,我阅读了关于 UnsafePointer 的文档,但我不太明白,有人可以帮我吗??
// swift api
func senddata (_ req: UnsafeMutablePointer < astruct >) -> OSStatus
struct astruct {
var data : UnsafePointer < UInt8 >
var bytestosend : UInt32
var destination : destination
}
var array : [UInt8] = [0xf0,0xf7,0x03,0x01]
var st = astruct(data : array , bytestosend : UInt32(array.count) , destination: dest)
senddata ( st )
如何做不安全的足尖动作?
【问题讨论】:
-
作为对潜在回答者的礼貌,请正确格式化代码,并复制/粘贴准确代码:
Func应为@987654323 @、var array : Uint8应该是var array : [UInt8]等等。
标签: swift unsafe-pointers