如何在ObjectiveC/C中实现免费桥接



iOS和OS X Sdk有一个非常酷的免费桥接概念。如果我要用C编写自己的代码并为其编写Obj-C包装器,并想将其用作免费桥接,我应该如何做到这一点?请举例说明。

请参阅https://web.archive.org/web/20111013023821/http://cocoadev.com/index.pl?HowToCreateTollFreeBridgedClass.基本上,您需要创建一个C结构,该结构与obj-C结构具有相同的大小和布局。此外,为了正确地实现保留/释放,还必须做一些时髦的事情。

如果可以的话,最简单的方法是用Objective-C编写代码,然后用C包装它。这避免了免费桥接的所有棘手部分(而这些棘手部分只会变得越来越棘手。例如,如果你想支持ARC__weak,保留/释放会更复杂)。

最新更新