1

これまでのところ、UIKitがCoreGraphicsとCoreAnimationの上にあり、CoreGraphicsとCoreAnimationができることは明らかですが、UIKitにはそれらを実行するためのより高いレベルの方法もあります。

他のレイヤー、Core Image、Quartz 2D、Quartz、Quartz Core、Quartz Graphics、Core Video、Cocoa Touch、CoreMotionはどうですか。それらはどのように相互に関連していますか?(iOSのどこに属するかを正確に示す良い図はありますか?)

4

2 に答える 2

3

Quartz = Quartz2D=コアグラフィックス。プログラマーの観点からは、これらは同じものの単なる異なる名前です。Applesは、コアグラフィックスフレームワークの一部であるグラフィックエンジンをQuartz(2D)と呼んでいます。コードでQuartz(2D)を使用する場合は、CoreGraphicsフレームワークで定義されているAPIを使用します。

Quartz Graphics:これは今まで聞いたことがありませんが、おそらくQuartz /CoreGraphicsの別名にすぎません。

Core Imageは別のフレームワーク(Macで最初に登場し、最近iOSで登場)であり、その主な焦点は画像操作です。Core Imageを使用すると、事前定義またはカスタムのグラフィックフィルターのセットを画像に適用できます。Core Imageは、GPUを非常に効果的に使用してこれらのフィルターを適用するため、非常に高速であることが知られています。最近、CoreImageには別の機能があります。画像内の顔検出です。

(私はコアビデオについてあまり知らないので、他の人がそのトピックについてもっと追加してくれたらありがたいです。)

于 2012-04-27T16:09:15.810 に答える
0

Begemannの答えに感謝します。詳細については、 http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/CocoaFundamentals/WhatIsCocoa/WhatIsCocoa.html#//apple_ref/doc/uid/TP40002974-CH3-SW16をご覧ください。

完全ではないかもしれませんが、ここに概要があります:


Mac OS Xの場合:

ここに画像の説明を入力してください


iOSの場合:

ここに画像の説明を入力してください

抜粋:

以下は、ファンデーションレイヤーから始めて、iOSスタックの各レイヤーにあるフレームワークの一部をまとめたものです。

コアOS。このレベルには、カーネル、ファイルシステム、ネットワークインフラストラクチャ、セキュリティ、電源管理、および多数のデバイスドライバーが含まれます。また、POSIX / BSD 4.4 / C99 API仕様をサポートし、多くのサービスのシステムレベルAPIを含むlibSystemライブラリもあります。

コアサービス。このレイヤーのフレームワークは、文字列操作、コレクション管理、ネットワーキング、URLユーティリティ、連絡先管理、設定などのコアサービスを提供します。また、GPS、コンパス、加速度計、ジャイロスコープなどのデバイスのハードウェア機能に基づいたサービスも提供します。このレイヤーのフレームワークの例は、コアロケーション、コアモーション、およびシステム構成です。

このレイヤーには、文字列やコレクションなどの一般的なデータ型の抽象化を提供するフレームワークであるFoundationとCoreFoundationの両方が含まれます。Core Frameworksレイヤーには、オブジェクトグラフ管理とオブジェクト永続化のためのフレームワークであるCoreDataも含まれています。

メディア。このレイヤーのフレームワークとサービスはコアサービスレイヤーに依存し、CocoaTouchレイヤーにグラフィカルサービスとマルチメディアサービスを提供します。それらには、Core Graphics、Core Text、OpenGL ES、Core Animation、AVFoundation、Core Audio、およびビデオ再生が含まれます。

ココアタッチ。このレイヤーのフレームワークは、iOSベースのアプリケーションを直接サポートします。これらには、ゲームキット、マップキット、iAdなどのフレームワークが含まれます。

Cocoa Touchレイヤーとコアサービスレイヤーにはそれぞれ、iOS用のアプリケーションを開発するために特に重要なObjective-Cフレームワークがあります。iOSのコアCocoaフレームワークは次のとおりです。

UIKit。このフレームワークは、アプリケーションがユーザーインターフェイスに表示するオブジェクトを提供し、イベントの処理や描画など、アプリケーションの動作の構造を定義します。UIKitの説明については、「UIKit(iOS)」を参照してください。</ p>

財団。このフレームワークは、オブジェクトの基本的な動作を定義し、それらの管理のためのメカニズムを確立し、プリミティブデータ型、コレクション、およびオペレーティングシステムサービス用のオブジェクトを提供します。Foundationは、基本的にCoreFoundationフレームワークのオブジェクト指向バージョンです。Foundationフレームワークの説明については、「Foundation」を参照してください。

于 2012-04-30T01:11:29.057 に答える