2011-05-13 16 views
4

我有一個Objective-C++類,它將自己添加爲Cocoa NSView上事件的觀察者。我希望能夠將NSNotifications發送到C++類的方法,而不是Objective-C方法或塊。我怎樣才能做到這一點?如何在C++類中接收Objective-C的NSNotifications?

我的情況是這樣的:

  • A - 的Objective-C++類
  • 乙 - 的NSView

B被答:我想收到B的事件之一的封裝。但是,處理該事件的方法必須引用包含B的A的實例。

回答

3

在Objective-C中創建一個死的簡單包裝類,它指向您的C++實例並通過調用C++方法處理通知。

+0

D'oh。其實我只是意識到我可以在10分鐘前做到這一點。儘管感謝您的回答。簡單,準確,重點突出。 :) – 2011-05-14 00:27:06

2

您不能直接使用C++方法使用通知,或者使用簡單的C函數。

您必須將對C++方法的調用封裝爲一個實際的Objective-C方法或塊,然後將通知委託給C++方法。