转载

Toll-free bridging

所谓的Toll-free bridging是说可以在某个框架的方法或函数同时使用Core Foundatio和Foundation 框架中的某些类型。很多数据类型支持这一特性,其中包括群体和字符串数据类型。每个框架的类和类型描述都会对某个对象是否为 toll-Free bridged,应和什么对象桥接进行说明。类型转换关键字区别:

  • __bridge (相当于assign,还是要自己管理对象)
  • __bridge_transfer(相当于copy后release,转让了自己对对象的所有权交给别人去管理)
  • __bridge_retained(相当于retain,增加额对象的引用计数)

同时也要注意在没有ARC和xcode4.2后加入ARC的使用时的区别

更多内容见Lancy的 这篇讲解 和苹果的文档 Toll-Free Bridging 。

Ref:

  • http://blog.ibireme.com/2015/05/18/runloop/
  • https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/Multithreading/RunLoopManagement/RunLoopManagement.html
  • http://chun.tips/blog/2014/10/20/zou-jin-run-loopde-shi-jie-%5B%3F%5D-:shi-yao-shi-run-loop%3F/
  • Toll-free bridged: http://gracelancy.com/blog/2014/04/21/toll-free-bridging/
  • 调用栈: http://blog.chinaunix.net/uid-20760757-id-1872359.html
  • RunLoop源代码: http://opensource.apple.com/source/CF/CF-855.17/CFRunLoop.c
  • http://blog.cnbluebox.com/blog/2014/07/01/cocoashen-ru-xue-xi-nsoperationqueuehe-nsoperationyuan-li-he-shi-yong/
原文  http://www.calios.gq/2016/02/29/Toll-Free bridging/
正文到此结束
Loading...