-2

MacOS をコーディングする場合、使用できるオプションがいくつかあります。コア サービス、コア ファンデーション、およびコア データ。それらの違いは何ですか?それらは純粋な C++ コードですか?

4

4 に答える 4

4

それらはすべて異なることを実行し、C または Objective-C で実装されます。

コア サービス:

この一連のドキュメントは、Carbon アプリケーションで使用される多くの基本的なオペレーティング システム サービスを含むコア サービス フレームワークの API リファレンスを提供します。

コアファンデーション:

Core Foundation は、アプリケーション サービス、アプリケーション環境、およびアプリケーション自体に役立つ基本的なソフトウェア サービスを提供するフレームワークです。また、Core Foundation は、一般的なデータ型の抽象化を提供し、Unicode 文字列ストレージによる国際化を促進し、プラグイン サポート、XML プロパティ リスト、URL リソース アクセス、設定などの一連のユーティリティを提供します。

コアデータ:

この一連のドキュメントは、Core Data フレームワークの API リファレンスを提供します。Core Data は、Foundation および Cocoa アプリケーションのオブジェクト グラフ管理と永続性を提供します。詳細については、「コア データの基本」を参照してください。

于 2012-07-05T22:25:51.457 に答える
4

Appleの図を見てください:

MacOS フレームワーク層

Core Services は、Core Foundation を含む MacOS ソフトウェア エコシステムのレイヤーであることがすぐにわかります。Core Foundation は C ベースであるため、もちろん C++ から簡単に呼び出すことができますが、Core Services レイヤーのすべてのフレームワークに C のみの API があるわけではありません。

コア データは、コア サービス レイヤーのもう 1 つのフレームワークであり、Objective-C API を使用したコア サービス API の良い例です。Core Data と Core Foundation は完全に異なることを行います。どちらも他方の適切な代替物ではありません。

于 2012-07-05T22:26:46.457 に答える
0

これらは、リンクしてコードで使用できるライブラリです。Apple がそれらで使用するコードは意図的にわかりにくく、通常は Objective-C を使用してそれらを使用します (Objective-C で記述されていると推測されますが、C++ ライブラリがいくつかあります)。これらおよび他の多くの Apple ライブラリにリンクできます。フレームワークの説明については、Apples Core Services のドキュメントを参照してください。数多くあり、それらは多様であり、ここで説明するには範囲が広すぎます。

于 2012-07-05T22:26:03.690 に答える
0

実際には、それらはすべてまったく異なります。また、C++ ではなく、Objective-C で記述されています。とにかくそれらの内部のコードにアクセスすることはできず、それらが公開するインターフェースにのみアクセスできるため、実際には関係ありません。

Apple 開発者向けドキュメントは優れたリソースです。

コアサービス

コアデータ

コアファンデーション

于 2012-07-05T22:26:34.663 に答える