iOS和OS X Sdk有一个非常酷的免费桥接概念。如果我在C中编写自己的代码并为它编写Obj-C包装器,并希望将其用作Toll-Free-Bridged,我应该怎么做?请举个例子。
答案 0 :(得分:7)
请参阅https://web.archive.org/web/20111013023821/http://cocoadev.com/index.pl?HowToCreateTollFreeBridgedClass上的教程。基本上,您需要创建一个C结构,它具有与obj-c相同的大小和布局。此外,还必须完成一些时髦的工作才能正确实现保留/释放。
答案 1 :(得分:3)
如果可以的话,最简单的方法是在Objective-C中编写代码,然后将其包装在C中。这避免了免费桥接的所有棘手部分(这些棘手的部分只是如果你想支持ARC __weak,那么-retain / -release会更复杂。