CFMessagePortInvalidationCallBack 没有远程端口的上下文信息
CFMessagePortInvalidationCallBack has no context info for remote ports
使用 CFMessagePortCreateLocal 创建本地端口时,您可以指定上下文信息 (void *)。这对于指向 Objective-C class 实例很有用。使用 CFMessagePortCreateRemote,您无法指定上下文信息。如果您希望通过 CFMessagePortSetInvalidationCallBack 指定的回调来监视远程端口何时失效,您在回调中没有可用的信息。除了使用静态变量之外还有解决方法吗?
我可能有未知数量的远程端口连接到不同的进程。
由于所有 CFType
对象都是免费桥接到 NSObject
,因此 id
,您可以使用关联的对象 API(例如 objc_setAssociatedObject()
).
使用 CFMessagePortCreateLocal 创建本地端口时,您可以指定上下文信息 (void *)。这对于指向 Objective-C class 实例很有用。使用 CFMessagePortCreateRemote,您无法指定上下文信息。如果您希望通过 CFMessagePortSetInvalidationCallBack 指定的回调来监视远程端口何时失效,您在回调中没有可用的信息。除了使用静态变量之外还有解决方法吗?
我可能有未知数量的远程端口连接到不同的进程。
由于所有 CFType
对象都是免费桥接到 NSObject
,因此 id
,您可以使用关联的对象 API(例如 objc_setAssociatedObject()
).