iOS*_*com 22 cocoa objective-c core-foundation
我使用NSObjects等在Objective-C Cocoa中编程了一段时间.我看到还有另一个框架:CoreFoundation.我看一下,它似乎是一个C风格的框架.
所以我有一些好奇心,我想澄清一下.我用谷歌搜索,但没有找到直接答案.
这些是我的一些问题.如果有人能够提供答案,或者为我提供阅读资源的资源,那就太棒了.我想知道它是否值得更多地了解该框架.
bbu*_*bum 20
历史:该基金会的日期为~1993/1994,其中的API是NeXT发布的OpenStep API的一部分.
CoreFoundation框架的目的是什么?
CF是在Mac OS向Mac OS X过渡期间创建的,以帮助支持该过渡.最初,它既是为了速度而又是为了允许编写纯粹的非Objective-C程序.随着时间的推移,这被证明是一个非问题,CF有越来越多的位在Objective-C中实现(使用类似otool的东西看看CoreFoundation二进制文件).
CFLite是一种轻质,便携,纯C(IIRC)型号.
Cocoa Framework不提供已经需要的所有东西吗?
或多或少.而且,当然还可以在iOS或OS X上构建GUI应用程序.
CoreFoundation Framework是否提供了CocoaFramework无法提供的任何优势?
几个,但通常以降低简单性和增加脆弱性为代价.
例如,CF集合允许您完全自定义如何管理内存和标识对象; 您可以提供自定义分配/免费/散列/比较挂钩.通过这种方式,您可以"轻松"将非Objective-C类型封装在CF集合中.
Mat*_*ing 19
CoreFoundation不仅仅是基于C语言的替代基金会.在过度简化的术语中,Foundation基本上是 CoreFoundation,因为一个建立在另一个之上.Foundation中的许多类都只是围绕CoreFoundation对应的轻量级Objective C包装器,这就是免费桥接的工作方式(例如CFString和NSString).
有关更多历史记录和更多技术说明,请参阅此文章.
如果你真的想读的CoreFoundation源,苹果的"CFLite"框架的几个版本可供参考这里.
| 归档时间: |
|
| 查看次数: |
6959 次 |
| 最近记录: |