将结构体进程序列号转换为不安全指针<Void>



我有一个ProcessSerialNumber,想从中创建NSAppleEventDescriptor,方法与 objc.io 年第 14 期所示相同。但是,构造函数期望UnsafePointer<Void>

let psn = ProcessSerialNumber(highLongOfPSN: UInt32(0), lowLongOfPSN: UInt32(kCurrentProcess))
let target = NSAppleEventDescriptor(
                 descriptorType: typeProcessSerialNumber,
                 bytes: &psn, // <-- this fails
                 length: sizeof(ProcessSerialNumber)
             )

我缺少什么才能正确转换它?

另一个光荣的快速错误消息失败,真正的问题是typeProcessSerialNumber是一个Int,而初始值设定项需要一个DescType。 用:

let target = NSAppleEventDescriptor(descriptorType: DescType(typeProcessSerialNumber), bytes:&psn, length:sizeof(ProcessSerialNumber))

相关内容

最新更新