71

我试图掌握它,但现在两者对我来说似乎是一样的。然而,Xcode 允许创建一个控制台应用程序,可以选择使用“Core Foundation”或“Foundation”。也许有人可以指出差异。

4

3 回答 3

98

Core Foundation是C级API,提供CFString、CFDictionary等。

Foundation是Objective-C,它提供了NSString、NSDictionary等。

于 2009-12-03T22:06:31.660 回答
33

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

Foundation 有更多的课程;

CoreFoundation 是 Foundation 和Carbon的共同基础。

于 2009-12-03T22:05:32.287 回答
28

一点历史

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

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

Classic Mac 工具箱演变为 Carbon。

OPENSTEP 演变并成为包含Foundation的 Cocoa 。

所以我得出的结论是,Core Foundation的历史要长得多,它是Foundation的基础。由于Foundation是一种高级和现代的,除非我需要处理一些需要Core Foundation的历史性问题,否则我会坚持下去。

于 2015-01-02T06:31:19.177 回答