iOS和OS X Sdk擁有非常酷的免費橋接概念。如果我要在C中編寫自己的代碼併爲其編寫Obj-C包裝器,並且希望將其用作免費橋接,那我應該怎麼做?任何例子請。如何在ObjectiveC/C中實現免費橋接?
9
A
回答
7
請參閱教程https://web.archive.org/web/20111013023821/http://cocoadev.com/index.pl?HowToCreateTollFreeBridgedClass。基本上,你需要創建一個C結構,它具有與obj-c相同的大小和佈局。還有一些時髦的東西必須做正確實施保留/釋放。
3
如果可以,最簡單的方法是在Objective-C中編寫代碼,然後用C包裝它。這樣可以避免所有免費橋接的棘手部分(而那些棘手的部分是隻有越來越棘手 - 如果你想支持ARC __weak,那麼保留/釋放會更復雜)。
+0
但是這不會達到目的嗎?我想要在C中實現核心,以便它可以在ObjC環境中重用(並且如果有的話,也可以獲得一些性能提升)。 – zakishaheen
+0
這就是「如果你可以」的部分。如果你真的需要打包C,你必須以艱難的方式來完成。 –
相關問題
- 1. 免費橋接陷阱
- 2. 免費橋接Mono Touch
- 3. 免費接口如何實現類?
- 4. 免費橋接和內存管理
- 5. 是否適用支持免費橋接?
- 6. 免費實現Elgamal
- 7. 如何使用免費monads實現Reader?
- 8. 在免費RTos中實現調度器
- 9. 在iPad上實現免費手繪圖
- 10. 如何在實現因抽象而變化時實現橋接模式
- 11. ObjC使用免費橋接類型來建立一個塊
- 12. CGPDFDocumentCreateWithURL失敗(NSURL的免費電話橋接至CFURLRef)
- 13. 免費橋接對象,保留並釋放
- 14. 免費橋接至NSError不是斯威夫特3
- 15. 哪個版本可用於免費橋接數據類型?
- 16. 目標和非免費橋接類型之間的轉換
- 17. 保留EC2免費實例免費
- 18. 有沒有Ada的免費實現?
- 19. 有.net的printf的免費實現嗎?
- 20. 現實的免費TTS節目
- 21. boost.serialization - 免費版本和基類實現
- 22. SwiftForth SWOOP是否有免費的實現?
- 23. 在scalaz免費實施
- 24. 如何在實現接口時避免抽象類中的空實現?
- 25. 如何「免費」Microsoft.Office.Interop.Word.Application wordApp實例?
- 26. Android - 如何實現免費試用期,無需提前付費用戶
- 27. 我們如何在Android應用中實現「時間限制免費」功能?
- 28. 嘗試在Java中實現橋接模式時出錯
- 29. 在Cocoa中實現KVO /綁定兼容的橋接模式
- 30. 在C++中免費實現「有界優先級隊列」
cocoadev.com似乎沒有更多,有任何更新的鏈接? –
網絡歸檔版本:https://web.archive.org/web/20111013023821/http://cocoadev.com/index.pl?HowToCreateTollFreeBridgedClass – kuba
此標記爲刪除,因爲它不包含必要的細節來解決答案本身的問題。您能否編輯此答案,以便用戶不需要按照鏈接(或鏈接的網頁存檔版本)瞭解如何解決問題? – josliber