1

到目前为止,我很清楚 UIKit 是在 Core Graphics 和 Core Animation 之上的,而 Core Graphics 和 Core Animation 可以做什么,UIKit 也有一些更高级别的方法来完成它们。

其他层怎么样,Core Image、Quartz 2D、Quartz、Quartz Core、Quartz Graphics、Core Video、Cocoa Touch、Core Motion。它们如何相互关联?(是否有一个很好的图表可以准确地描述它们在 iOS 中的位置?)

4

2 回答 2

3

石英 = 石英 2D = 核心图形。从程序员的角度来看,这些只是同一事物的不同名称。Apples 将其图形引擎称为 Quartz (2D),它是 Core Graphics 框架的一部分。如果您想在代码中使用 Quartz (2D),请使用 Core Graphics 框架中定义的 API。

Quartz Graphics:我以前从未听说过这个,但它可能只是 Quartz/Core Graphics 的另一个名称。

Core Image 是另一个主要关注图像处理的框架(首先出现在 Mac 上,最近出现在 iOS 上)。Core Image 允许您在图像上应用一组预定义或自定义的图形过滤器。众所周知,Core Image 非常快,因为它非常有效地使用 GPU 来应用这些过滤器。最近,Core Image 有了另一个功能:图像中的人脸检测。

(我对核心视频了解不多,所以如果其他人可以添加更多关于该主题的信息,我将不胜感激。)

于 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 堆栈的每一层中发现的一些框架。

核心操作系统。此级别包含内核、文件系统、网络基础设施、安全性、电源管理和许多设备驱动程序。它还具有 libSystem 库,该库支持 POSIX/BSD 4.4/C99 API 规范并包括用于许多服务的系统级 API。

核心服务。该层中的框架提供核心服务,例如字符串操作、集合管理、网络、URL 实用程序、联系人管理和首选项。他们还提供基于设备硬件功能的服务,例如 GPS、指南针、加速度计和陀螺仪。这一层中的框架示例是核心位置、核心运动和系统配置。

该层包括 Foundation 和 Core Foundation,这些框架为字符串和集合等常见数据类型提供抽象。核心框架层还包含核心数据,一个用于对象图管理和对象持久性的框架。

媒体。该层的框架和服务依赖于Core Services 层,为Cocoa Touch 层提供图形和多媒体服务。它们包括核心图形、核心文本、OpenGL ES、核心动画、AVFoundation、核心音频和视频播放。

可可触摸。这一层的框架直接支持基于 iOS 的应用程序。它们包括 Game Kit、Map Kit 和 iAd 等框架。

Cocoa Touch 层和 Core Services 层各有一个 Objective-C 框架,这对于开发 iOS 应用程序尤为重要。这些是 iOS 中的核心 Cocoa 框架:

界面套件。该框架提供应用程序在其用户界面中显示的对象,并定义应用程序行为的结构,包括事件处理和绘图。有关 UIKit 的说明,请参阅“UIKit (iOS)”。</p>

基础。该框架定义对象的基本行为,建立管理机制,并为原始数据类型、集合和操作系统服务提供对象。Foundation 本质上是 Core Foundation 框架的面向对象版本;有关 Foundation 框架的讨论,请参见“Foundation”。

于 2012-04-30T01:11:29.057 回答