Cocoa框架包含两个核心框架:Foundation和Application Kit (UIKit) 框架。
在Cocoa开发中是必要的,至于其它框架(如:Core Data、Sync Services、Address Book、Preference Panes、Screen Saver、Web Kit)
则
是辅助和可选的;
Foundation框架和Application Kit框架的区分标准在于用户界面。
如果一个对象既不出现在用户界面上,也不是专门用于支持用户界面,那么它就属于Foundation框架,命令行工具和Internet服务器就是这样的例子。
Foundation类层次的根是NSObject类,它(和NSObject及NSCopying协议一起)定义了基本的对象属性和行为。
Foundation框架的剩余部分由几组相互关联的类和一些独立的类组成。有一些代表基本数据类型的类,如字符串、字节数组;用于存储其它对象的集合类;一些代表系统信息的类,如日期类;还有一些代表系统实体的类,比如端口、线程、和进程。
Application Kit (UIKit) 框架包含实现图形的、事件驱动的用户界面需要的所有对象:窗口、对话框、按键、菜单、滚动条、文本输入框—这个列表还在不断增加。Application Kit由超过125个类和协议组成。所有的类最终都从Foundation框架的NSObject类继承而来, Application Kit帮助您处理所有的细节,它可以高效地进行屏幕描画、和营建设备及屏幕缓冲区进行通讯,在描画之前清除屏幕上的区域,以及对视图进行裁剪。
iPhone按照视图加入的先后顺序,由后向前显示,这说明了视图层次是一种空间上的叠加关系。
Foundation:
http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CocoaFundamentals/Art/uikit_classes.jpg