2012-07-05 278 views
-2

编码MacOS时,我可以使用几个选项。核心服务,核心基础和核心数据。他们之间有什么区别?他们是纯C++代码吗?核心服务,核心基础和核心数据有什么区别?

+1

它们都有的唯一共同点就是前缀“核心”。这些文件都在Apple Dev网站上有很好的文档。 – sosborn 2012-07-05 22:23:56

+2

当然,只要使用google搜索这些东西,就会给你一个关于它们是什么以及它们有什么不同的好主意。 – UIAdam 2012-07-05 22:24:20

回答

4

他们都执行不同的事情,在C或Objective-C的实现:

Core Services

这份文档集合为核心 服务框架,其中包括许多的API参考碳应用使用的基本操作 系统服务。

Core Foundation

核心基础是提供基础软件 服务,应用服务,应用环境有益,并 到应用程序本身的框架。 Core Foundation还为常见数据类型提供抽象 ,通过Unicode 字符串存储实现国际化,并提供一套实用工具,如插件 支持,XML属性列表,URL资源访问和首选项。

Core Data

这份文档集合为核心 数据框架的API参考。核心数据为Foundation和Cocoa应用程序提供对象图管理和持久性。有关更多详细信息,请参阅“核心数据基础知识” 。

0

这些是您可以链接并在您的代码中使用的库。通常你会用Objective-C来使用它们(假设它们是用Objective-C编写的,但是有一些C++库)。您可以链接到这些和许多其他Apple库。有关框架的描述,请参阅Apples Core Services Documentation。有很多,他们是多种多样的,在这里描述太大的范围。

0

实际上它们都完全不同 - 它们是用Objective-C而不是C++编写的。你无法访问它们里面的代码,只能访问它们暴露给你的接口,所以这实际上是不相关的。

苹果开发者文档是一个很好的资源:

Core Services

Core Data

Core Foundation

4

Apple's diagram

MacOS Frameworks layers

您可以马上看到,核心服务是MacOS软件生态系统中的一个层次,包括Core Foundation等等。核心基础是基于C语言的,因此您可以从C++轻松地调用它,但并非Core服务层中的所有框架都具有C-only API。

核心数据是核心服务层中的另一个框架,是具有Objective-C API的核心服务API的一个很好的例子。 Core Data和Core Foundation做了完全不同的事情 - 两者都不适合替代另一个。