代码改变世界

iOS开发库的族谱介绍

  狼人:-)  阅读(215)  评论(0编辑  收藏  举报

  Foundation/Core Foundation/Carbon/Cocoa/Cocoa Touch/Toll Free Bridging光看看这tm些名字就jb够晕了,你是不是也看着这些东西恶心?你是不是也发现在你开发同样一个功能的时候,从a库也可以到达,从b库也可以到达?虽然都能抓住老鼠,可是到底哪只猫是串儿?哪只猫是纯种的波斯猫?

  本文就是对这些库族谱的介绍。

  Foundation:Objective-C的核心库。写个Objective-C程序必须包含的库。提供了Objective-C中基本的数据类型和服务。他其实是和Cocoa更加亲密的,按照层次应该和Cocoa是一层。

  Core Foundation: 一个接近系统的C库, 让调用方可以方便的访问系统级的内容。Foundation和Cocoa有其部分功能的封装,这就是为什么完成同一件事有多种解决方案的起源。个人感觉这个比Foundation功能更强大,毕竟更贴近底层自然效率会高一些吧。而且后面会提到,Foundation为了更好的调用Core Foundation,还得和Toll Free Bridging交互。

  Carbon:这个跟iOS关系不大,在早期的Mac OS(X之前)必须用这个,提供了一些图形库和很多框架。

  Cocoa:这个是现在Mac OS X中才出现的新玩意, 和Carbon一块在Mac OS X上出现。

  Cocoa Touch:是Cocoa在iOS上对应的库,做了很多在移动平台上的优化,比如把GC优化没了,因为高效的GC是不符合移动平台的风格的(因为用的是标记法,所以产生的内存碎片无法应对所有移动开发情况)。

  Toll Free Bridging:从名字可以看出是啥东西Bridge嘛,给Foundation和Core Foundation中间架个桥,以便调用。

  附上个图以便理解:

 

以上有道听途说,有个人理解。欢迎大家指正。

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示