OC&iOSiOS Developer

iOS中Foundation与Core Foundation的桥

2016-11-15  本文已影响107人  HuyaRC

分享是每个优秀的程序员所必备的品质


Foundation框架

Foundation框架是日常iOS开发中常用的,它是Cocoa框架(事实上是一个框架的集合)重要的组成部分,也是为所有程序开发奠定基础的框架。

Foundation框架中大约有125个可用的头文件,允许使用一些基本对象(数字和字符串),以及一些对象结合(数组、字典和集合),其他功能包括处理日期和时间、内存管理、处理文件系统、存储(或归档)对象、线程和RunLoop以及处理几何数据结构等。

Core Foundation框架

Core Foundation框架 (CoreFoundation.framework) 是一组C语言接口,它们为iOS应用程序提供基本数据管理和服务功能。

Core Foundation框架和Foundation框架紧密相关,它们为相同功能提供接口,不同的是Foundation框架提供Objective-C接口。而Core Foundation框架提供Objective-C接口。有时候开发会将Foundation对象和Core Foundation类型掺杂使用,这就需要使用桥接。

桥接

以字符串为例:
Foundation框架 :NSString *stringOC ;
Core Foundation框架 :CFStringRef stringC ;(不加*)

Snip1.png

两个变量stringOCstringC,Foundation框架中有NSString类型,在Core Foundation框架中与之对应的是CFStringRef类型

桥接的几种形式:

1、 __bridge type
__bridge只进行类型转换,不转让对象的所有权

2、__bridge_retain CF type

3、__bridge_transfer Objective-C type


个人浅见,有误的地方欢迎指正
上一篇下一篇

猜你喜欢

热点阅读