我有一个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))