我有一个Objective-C ++类,它将自己添加为Cocoa NSView上的事件的观察者。我希望能够将NSNotifications发送到C ++类的方法而不是Objective-C方法或块。我怎么能这样做?
我的情况是这样的:
B由A封装。我希望收到B事件之一的通知。但是,处理该事件的方法必须引用包含B的A实例。
答案 0 :(得分:3)
在Objective-C中创建一个死的简单包装类,它指向您的C ++实例并通过调用C ++方法来处理通知。
答案 1 :(得分:2)
您不能直接使用C ++方法使用通知,也不能使用简单的C函数。
您必须将对C ++方法的调用包装为实际的Objective-C方法或块,然后将通知委托转发给C ++方法。