O-C学习
1. Foundation.h。这个是系统框架Foundation framework的头文件,有了它你可以免费的获取系统或者说苹果公司为你精心准备的一系列方便你使用的系统功能,比如说字符串操作等等。Foundation框架从属于Cocoa框架集,Cocoa的另外一个框架为Application Kit,或者是UIKit,其中前者的应用对象为MAC OS,后者的应用对象为iPhone OS。
(1)如果一个对象既不出现在用户界面上,也不是专门用于支持用户界面,那么它就属于Foundation框架。
苹果公司在设计Foundation框架时牢记如下目标:
• 为诸如内存管理、对象改变、和通告这样的事物定义基本的对象行为和引入一致的规则。
• 通过程序包技术和Unicode字符串(和其它技术一起)支持国际化和本地化。
• 支持对象的持久保存。
• 支持对象的分发。
• 在一定程度上独立于操作系统,以支持移植。
为编程的元类型提供对象封装或等价物,比如数值、字符串、和集合,以及为访问底层系统实体和服务提供工具类,比如端口、线程、和文件系统。
(2)很多(如果不是绝大多数的话)Application Kit的方法和函数都将Foundation对象作为参数或返回值。
2. Application Kit框架包含实现图形的、事件驱动的用户界面需要的所有对象:窗口、对话框、按键、菜单、滚动条、文本输入框—这个列表还在不断增加。ApplicationKit帮助您处理所有的细节,它可以高效地进行屏幕描画、和营建设备及屏幕缓冲区进行通讯,在描画之前清除屏幕上的区域,以及对视图进行裁剪。Application Kit框架中的类数量咋一看好像很吓人,但是大多数的Application Kit类都是支持类,您不必直接使用。您还可以选择在哪个级别上使用Application Kit:
• 使用Interface Builder创建从用户界面对象到应用程序控制器对象的连接,控制器对象负责管理用户界面,协调用户界面和内部数据结构之间的数据流。为此,您可能会用到off-the-shelf控制器对象(用于Cocoa绑定),可能需要实现一个或更多的定制控制器类—特别是使用那些类的动作和委托方法。举例来说,您需要实现一个方法,使之在用户选择某个菜单项时被调用(如果该菜单项没有可接受的缺省实现的话)。
• 以编程的方式控制用户界面,这需要对Application Kit的类和协议更加熟悉。举例来说,支持用户将图标从一个窗口拖拽到另一个窗口需要一些编程工作,而且熟悉NSDragging... 协议。
通过子类化NSView或其它类实现您自己的对象。在子类化NSView时,需要用图形函数来编写自己的描画函数。子类化要求对Application Kit的工作机制有更深的理解。