Objective c swift4:如何将任意对象强制转换为C框架的指针

Objective c swift4:如何将任意对象强制转换为C框架的指针,objective-c,swift,macos,pointers,frameworks,Objective C,Swift,Macos,Pointers,Frameworks,我想在swift项目中使用私有macOS框架(multi-touchsupport.framework),但在这一点上遇到了困难 到目前为止,我得到的轨迹板地址是AnyObject:。但是这个框架的方法希望第一个十六进制值作为指针typedef void*MTDeviceRef参数 执行我需要的操作的ObjC代码如下所示:MTDeviceRef device=(u_桥MTDeviceRef)[deviceList objectAtIndex:I] 我已尝试通过转换为!MTDeviceRef和没有

我想在swift项目中使用私有macOS框架(multi-touchsupport.framework),但在这一点上遇到了困难

到目前为止,我得到的轨迹板地址是AnyObject:
。但是这个框架的方法希望第一个十六进制值作为指针
typedef void*MTDeviceRef参数

执行我需要的操作的ObjC代码如下所示:
MTDeviceRef device=(u_桥MTDeviceRef)[deviceList objectAtIndex:I]

我已尝试通过
转换为!MTDeviceRef
没有安全指针
就没有运气


有没有办法转换这个?我仍然是新的编码和swift,任何帮助是非常感谢

这可能就是你想要的:。很好,这是正确的方向。现在我得到了这个错误:无法将“UnsafeRawPointer”类型的值转换为预期的参数类型“MTDeviceRef!”(又名“隐式修饰”)哦,稍微改变一下就明白了。这就成功了:func桥(obj:T)->UnsafeRawMutablePointer{return UnsafeRawMutablePointer(Unmanaged.passUnretained(obj.toOpaque())}是的,我的转换函数采用常量指针。稍后我将更新可变指针的代码。这可能就是您要查找的:。很好,这是正确的方向。现在我得到了这个错误:无法将“UnsafeRawPointer”类型的值转换为预期的参数类型“MTDeviceRef!”(又名“隐式修饰”)哦,稍微改变一下就明白了。这就成功了:func桥(obj:T)->UnsafeRawMutablePointer{return UnsafeRawMutablePointer(Unmanaged.passUnretained(obj.toOpaque())}是的,我的转换函数采用常量指针。稍后我将更新可变指针的代码。