0
我想將ObjC通知處理程序公開給我的C++客戶端代碼。 我正在這樣做。通用Objective-to-C++翻譯策略
- 我包裹一個ObjC對象(稱之爲X)C++對象的內部。
- X觀察通知和註冊回調(稱之爲˚F)。
- ˚F轉換的ObjC結構從通知到他們的C++同行,調用用戶註冊全球C++回調函數(稱之爲FF)。翻譯後的C++結構成爲輸入參數FF。
現在的問題是參數的原始ObjC結構很複雜,包含需要翻譯的多個ObjC對象層。
在我的身邊,包裝觀察者˚F需要做什麼特別的,只是調用客戶端的FF。
這個時候我的翻譯更合適的策略是什麼?
我應該:
- 翻譯那些結構到所有成員的底部水平,使我有同樣的C++結構作爲參數來使用,或者,
- 創建一個C++類來包裝這些參數放入一個對象中,並將類接口公開給用戶,以便他們可以在C++實現中使用這些C++封裝的參數,或者放棄包裝思想並要求用戶在ObjC中編寫代碼並註冊他們自己的觀察者函數直?
我的目標用戶是iOS開發人員,他們可能也可能不是Android開發人員。