2012-07-05 201 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做了完全不同的事情 - 兩者都不適合替代另一個。