我正在Xcode for iOS中編寫Objective-C++。我的項目主要是C++類和最高級別的一些Objective-C類。我的C++類包含Objective-C UI元素,我需要它們來接收UI事件。 UI元素是否可以直接調用C++成員函數?即有一個相當於這個呼籲C++函數:在C++類中接收UI事件
[control addTarget:object action:@selector(action:) forControlEvents:event];
據我瞭解@selector
不會幫助我在這裏。我需要另一種方法來使控制調用我的成員函數 - 是否存在?現在,我使用了一個Objective-C接收器類,它是我的C++類的成員,它接收UI事件,然後適當地調用我的C++類,但這看起來像是一種迂迴的實現方式。如果我所描述的是不可能的,是否有更好的方法來做我想做的事情?
無法爲Apple內置的UIKit類提供函數指針。你將不得不做一些你已經在做的事情:讓一個Objective-C類接收事件並轉發它們。 –