Foundation框架和Core Foundation框架有何区别?

73

我试图掌握它,但目前这两个似乎对我来说是一样的。然而,Xcode允许创建一个包含使用“Core Foundation”或者仅仅“Foundation”的Console App。也许有人可以指出它们的区别。

3个回答

100

核心基础架构(Core Foundation)是C语言级别的API,提供CFString、CFDictionary等。

基础框架(Foundation)是Objective-C语言编写的,提供NSString、NSDictionary等。


35

CoreFoundation是用C语言编写的,而Foundation则是用Objective-C语言编写的;

Foundation拥有更多的类;

CoreFoundation是Foundation和Carbon的公共基础。


29

一点历史

参考资料:http://ridiculousfish.com/blog/posts/bridge.html

Mac OS 9和NEXTSTEP合并创建了Mac OS X。而Core Foundation则作为经典Mac工具箱和OPENSTEP的共同基础而被创建(我认为OPENSTEP是NEXTSTEP的工具箱)。

经典Mac工具箱演变成了Carbon。

OPENSTEP演变成了Cocoa,其中包括Foundation

因此我得出结论,Core Foundation有着更长的历史,并且它是Foundation的基础。由于Foundation比较高级和现代化,除非需要处理一些历史问题,否则我会坚持使用Foundation


1
那些有关“基础”的双关语真是让我捧腹大笑哈哈 - Zorgatone

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接