核心服务,核心基础和核心数据之间有什么区别?

时间:2012-07-05 22:19:55

标签: macos

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

4 个答案:

答案 0 :(得分:4)

它们都执行不同的操作,并以C或Objective-C实现:

Core Services

  

此文档集提供了Core的API参考   服务框架,包含许多基本操作   Carbon应用程序使用的系统服务。

Core Foundation

  

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

Core Data

  

此文档集提供了Core的API参考   数据框架。核心数据提供对象图管理和   Foundation和Cocoa应用程序的持久性。更多细节,   请参阅“核心数据基础知识”。

答案 1 :(得分:4)

查看Apple's diagram

MacOS Frameworks layers

您可以立即看到Core Services是MacOS软件生态系统中的一个层,其中包括Core Foundation等等。 Core Foundation是基于C的,因此您当然可以从C ++轻松调用它,但并非核心服务层中的所有框架都只有C-only API。

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

答案 2 :(得分:0)

这些是您可以链接并在代码中使用的库。苹果中使用的代码代码是故意模糊的,通常你会使用Objective-C来使用它们(假设它们是用Objective-C编写的,但是有一些C ++库)。您可以链接这些和许多其他Apple库。有关框架的说明,请参阅Apples Core Services Documentation。有许多,它们的多样性和范围太大,无法在此描述。

答案 3 :(得分:0)

它们实际上完全不同 - 它们是用Objective-C而不是C ++编写的。你无论如何都无法访问它们内部的代码,只能访问它们向你公开的接口,所以这实际上是不相关的。

Apple开发人员文档是一个很好的资源:

Core Services

Core Data

Core Foundation