4

我有一个 Objective-C++ 类,它将自己添加为 Cocoa NSView 上事件的观察者。我希望能够将 NSNotifications 发送到 C++ 类的方法,而不是 Objective-C 方法或块。我怎样才能做到这一点?

我的情况是这样的:

  • A - Objective-C++ 类
  • B - NSView

B 被 A 封装。我想收到 B 的事件之一的通知。但是,处理该事件的方法必须具有对包含 B 的 A 实例的引用。

4

2 回答 2

3

在 Objective-C 中创建一个简单的包装类,它指向您的 C++ 实例并通过调用 C++ 方法来处理通知。

于 2011-05-13T22:47:38.567 回答
2

您不能直接使用 C++ 方法或简单的 C 函数来使用通知。

您必须包装对 C++ 方法的调用是实际的 Objective-C 方法或块,然后将通知委托转发给 C++ 方法。

于 2011-05-13T22:47:52.220 回答