我有一个ProcessSerialNumber并想从中创建一个NSAppleEventDescriptor,与issue 14 of objc.io中所示的方法相同。但是,构造函数需要一个UnsafePointer<Void>

let psn = ProcessSerialNumber(highLongOfPSN: UInt32(0), lowLongOfPSN: UInt32(kCurrentProcess))

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

我缺少什么来正确转换它?

最佳答案

另一个光荣的swift错误消息失败,真正的问题是typeprocessserialnumber是一个int,初始化器需要一个desctype。用途:

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

07-27 13:19