术语表
- 本附录包含了很多会用到的非正式定义术语。有些术语与Obective-C语言有关,其他术语则有自己的语源,来自面向对象程序设计的规范。在后一种情况中,术语的含义只有明确应用于Obective-C,才提供此类定义。
01
抽象类
- 为了更方便地创建子类而定义的类。实例是从子类创建的,而不是抽象类。参见具体的子类。
存取方法
- 实例变量的取值或设值方法。使用取值方法可以获取实例变量的值,使用设值方法可以设置实例变量的值,这与数据封装的方法论是一致的。
Application Kit
- 用于开发应用程序用户界面的框架,用户界面包含各种对象,如菜单、工具栏和窗口。该框架是Cocoa的组成部分,通常称为AppKit.
ARC
- 参见自动引用计数。
归档
- 将对象数据转换成种以后可恢复 (未归档)的格式。
数组
- 一个有序值的集合。数组可定义为Objective-C中的基本类型,通过NSAray和NSMutablerray类实现为Foundation下的对象。
自动引用计数(ARC)
- 用于编译器进行对象内存管理的特性。在Xcode 4.2版本之前,iOS 程序员需要手工使用方法管理内存,会使用到retain、 release、 autorelease 和dealloe方法。
自动变量
- 输入一个语句块时会自动分配空间、退出语句块时会自动释放空间的变量。自动变量的作用域仅限于定义它的程序块之内,这些变量没有默认的初始值。在它们的前面可选择性地放置关键字auto。
自动释放池
- 在使用ARC之前,自动释放池是一一个由NSAutoreleasePool类管理的对象。现在通过@autoreleasepool指令实现。自动释放池会追踪需要系统延迟释放的对象。在ios和Cocoa应用中典型的例子是,对象需要在循环完成后进行释放。
位域
- 包含一个或多个具有指定位宽度整数域的结构。可以访问和操作位域,方式与其他结构成员所采用的相同。
02
区块
- Apple公司对C语言的一种扩展。区块具有和函数相似的语义,可以获取区块定义范围内变量的值,可以将它赋值给一个变量, 作为函数方法的参数进行传递。区块能够有效地调度到另一个线程或处理器执行。
分类
- 特定名称所代表的一组方法。 分类可以模块化方法的定义,可用于向现有类添加新方法。
字符串
- 一种以null结尾的字符序列。
类
- 一组实例变量和可访问这些变量的方法。 定义类之后,即可创建类的实例(即对象)。
类方法
- 类对象调用的方法(定义有一个前导的+号)。参见实例方法。
类对象
- 标识特定类的对象。可以将类名用作消息的接收者调用类方法。在其他地方,可以对类调用class方法来创建类对象。
群集
- 组合了一一组私有具体子类的抽象类,它通过抽象类向用户提供了一个简单的接口。
Cocoa
- 一种开发 环境,它由Foundation、Core Data和Application Kit框架组成。
Cocoa Touch
- 一种开发环境,它由Foundation、Core Data和UIKit框架组成。
集合
- -种Foundation框架对象,可以是数组、字典或用于分组和操作相关对象的集。
编译时
- 分析源代码并将其转换成所谓目标编码的底层格式的时期。
03
合成类
- 来自其他类对象组成的类。通常,它可替代子类的使用。
具体子类
- 抽象类的子类。可从具体子类创建实例。
符合
- 如果直接实现或间接继承的类采用了协议中的所有方法,则称该类符合这项协议。
常量字符串
- 引在一对双引号中的字符序列。 如果以@character 开头,通常定义NSConstantString类型的常量字符串对象。
数据封装
- 将对象的数据存储在对象的实例变量中,并且只能通过对象的方法进行访问,这样可维护数据的完整性。
委托
- 让另一个对象实现某项行为的对象。
指定的初始化函数
- 将调用类或子类(通过向super发送消息)中其他所有初始化的方法。
字典
- 在Foundation下,利用NSDictionary和NSMutableDictionary类实现的键/值对集合。
指令
- Objective.C中的一种特殊结构, 它以at符号(@)开始。@interface、@impl ementation、@end 和@class都是指令的例子。
分布式对象(Distributed Object)
- 个应用程序中的Foundtion对象与另一个(很可能是运行在另 台计算机上)应用程序的Foundation对象进行通信的能力。
04
动态绑定
- 在运行时而不是编泽时确定对象需要调用的方法。
动态类型
- 在运行时而不是编译时确定对象所属的类。参见静态类型。
封装
- 參见数据封装。
extern变量
- 参见全局变量。
工厂方法
- 参见类方法。
工厂对象
- 参见类对象。
正式协议
- 使用@prolocol指令定义在一个名称下的相关方法集。不同的类(不必是相关的)可以采用一个正式协议,只要实现(或继承)这个正式协议的所有方法即可。参见非正式协议。
转发
- 向另个方法发送一条消息及相关 (多个)参数,并进行执行的过程。
Foundation框架
- 类、函数和协议的集合,这些类、函数和协议形成了应用程序开发的基础,提供了各种基本的工具性程序。如内存管理、文件和URL访问、归档,以及集合、字符串、数字和日期对象的使用。
框架
- 类、函数、协议、文档、头文件和其他相关资源的集合。如Cocoa框架是在OSX下开发交互式图形应用程序的框架。
05
函数
- 利用一个名称标识的语句块,它可以通过值传递一 个或多个参数,并且可选择返回一个值。对于定义函数的文件而言,函数可以是局部的(静态的),也可以是全局的。后一种情况中,可以从定义在其他文件中的函数或方法调用这些函数。
垃圾回收
- 一种运行时的内存管理系统,可自动释放未被引用的对象所使用的内存。
- 在iOS运行环境中不支持垃圾回收。
gcc
- 它是Free Software Foundation (FSF)开发的一种编译器名称。 gcc支持多种程序设计语言,包括C、Objective-C 和C++。
gdb
- 由gec编译的程序的标准调试工具。
取值方法
- 一种存取方法,可检索实例变量的值。参见赋值方法。
全局变量
- 在所有方法或函数外部定义的变量,同一个源文件中或将该变量定义为extern的其他源文件中的任何方法或函数都可以访问这个变量。
头文件
- 包含有共同的定义、宏和变量声明的文件,可以使用#import或#include语句将这种文件包含到程序中。
- 通用数据类型,可容纳指向任何类型对象的指针。
不可变对象
- 不能修改值的对象。如Foundation框架中包含的NSString、 NSDictionary和NSArray对象。参见可变对象。
实现部分
- 类定义的部分,它包含声明在相应接口部分(或者由协议定义所指定的)方法的实际代码(即实现)。
非正式协议
- 作为一个分类(通常作为根类的分类)声明的逻辑上相关的方法集。与正式协议不同,非正式协议中的方法不必全部实现。参见正式协议。
06
继承
- 将一个类的方法和实例变量从根对象开始向下传递到子类的过程。
实例
- 类的具体表示。实例通常通过向类对象发送一条 llc或new消息来创建的对象。
实例方法
- 可被类实例调用的方法。参见类方法。
实例变量
- 在接口部分(它包含该对象的每个实例)声明的(或从父类继承来的)变量。实例方法可直接访问它们的实例变量。
Interface Builder
- OS X下为应用程序构建图形用户界面的工具。
接口部分
- 用于声明类、类的超类、实例变量和方法的部分。对每个方法而言,还需声明参数类型和返回类型。参见实现部分。
国际化
- 参见本地化。
isa
- 在根对象中定义并且所有的对象都要继承的一个特殊的实例变量。 isa变量用于在运行时识别对象所属的类。最近也用来存储对象有关的附属信息。
链接
- 利用一个或多个对象文件并将它们转换成可执行程序的过程。
局部变量
- 作用域限于定义它的程序块之内的变量。对于方法、函数或语句块,变量可以是局部的。
07
本地化
- 使程序适合在特定的地理区域内执行的过程。通常是通过将消息转换成本地语言,并处理各种情况(如当地时区、货币符号、日期格式等)实现的。有时本地化只是指语言翻译过程,而术语国际化则表示这过程的其他方面。
消息
- 发送给对象(接收者)的方法及相应的參数。
消息表达式
- 括在对方括号中的表达式,它指定对象(接收者)和发送给该对象的消息。
方法
- 属于某个类的过程,通过向该类的对象或实例发送消息,可以执行方法。参见类方法和实例方法。
模块
- 在Xeode S中添加了项功能, 能够更加方便、高效地在项目中包含框架和头文件。需要使用@import指令支持。
可变对象
- 值可更改的对象。Fundation 框架支持可变和不可变数组、集、字符串和字典。参见不可变对象。
nil
- 一个 id类型的对象,用来表示无效对象。它的值定义为0。可向nil发送通知。
通知
- 当发生特殊所件时,向己往册的可收到警售(通知)的对象发送消息的过程。
NSObject
- Foundation框架下的根对象。
空字符
- 值为0的字符。空字符常最用'\0'表示。
08
空指针
- 无效的指针值。通常定义为0。
对象
- 一组变量和相应的方法。 可以向对象发送消息来执行它的方法。
面向对象的程序设计
- 一种基于类、 对象和对象执行操作的程序设计方法。因以大出
父类
- 被其他类继承的类。也可称为超类。
指针
- 用于引用另一个对象或数据类型的值。指针在内存中作为特定对象或值的地址来实现。类的实例是一个指针,它指向内存中保存对象数据的位置。
多态
- 来自不同类的对象可接受同一消息的能力。
预处理程序
- 首次执行源代码处理行的程序,它以个#开始, 还可能包含特殊的预处理程序语句。常见的用途是使用#define来定义宏指令,包括用#import 和#include导入其他源文件,以及用#it、#ifdef 和#ifndef有条件地包含源程序行。面
过程式程序设计语言
- 使用过程和函数定义程序的语言,过程和函数可操作一组数据。
属性声明
- 这种方法可指定实例变量的属性,允许编译器为实例变量生成无内存泄漏并且线程安全的存取方法。属性声明也可用于声明存取方法的属性,这些方法在运行时动态加载。
属性列表
- 使用标准化的和可移植的格式的不同类型对象的表示。通常,属性列表以XML格式进行存储。
09
协议
- 类为了符合协议或采用协议而必须实现的方法列表。协议提供了跨多个类标准化接口的方式。参见正式协议和非正式协议。
接收者
- 消息发送到的对象。可以从调用的方法内部作为self来引用接收者。
引用计数
- 参见保持计数。
保持计数
- 关于引用对象次数的计数。通过向该对象发送retain消息对其执行加1操作,发送release消息执行减1操作。
根对象
- 位于继承层次结构中最顶层且没有父类的对象。
运行时
- 程序正在执行的那段时间;也指负责执行程序指令的机制。
选择程序(selector)
- 用于选择对象要执行的方法名称。编译的选择程序是SEL类型的,并且可
- 用@selector指令生成。
self
- 在方法内使用的变量,用于引用消息的接收者。
集
- 单值对象的无序集合,可使用NSSet、NSMutableSet和NSCoutedSet类在
- Foundation下实现。
设值方法
- 这种存取方法可设置实例变量的值。参见取值方法。
语句
- 以分号结束的一个或多个表达式。
10
语句块
- 括在一对花括号内的一条或多 条语句。局部变量可以在语句块内声明, 而它们的作用域也限制在该语句块中。
静态函数
- 使用关键字static 声明的函数,只能由定义在同一源文件中的其他函数或方法调用它。
静态类型
- 在编译时显式地识别对象所属的类。参见动态类型。
静态变量
- 其作用域限制在定义它的块或模块内的变量。静态变量具有默认的初始值0,且在方法或函数的调用过程中会保持它们的值。
结构
- 一种集合数据类型,它包含类型不相同的成员。可将结构赋值给其他结构,作为参数传递给函数和方法,还可由函数和方法返回。
子类(subclass)
- 也称为“child class",子类从它的父类或超类继承方法和实例变量。
super
- 方法中使用的关键字,用于引用接收者的父类。超类特定类的父类。参见super.
合并方法
- 编译器自动创建的一种赋值 方法或取值方法。Objective-C 2.0语言中添加了这个方法。
UlKit
- 在iOS设备上开发应用程序的框架。除了提供可使用普通UI元素(如窗口、按钮和标签)的类以外,它还定义了处理设备特定功能的类型,如加速计和触摸界面。UIKit 是Cocoa Touch的一部分。
Unicode字符
- 一种包含数百万字符的字符集中代表字符的标准。可使用NSString 和NSMutableString类处理包含在Unicode字符中的字符串。
联合
- 一种 与结构类似的集合数据类型,它包含的成员共享一一个存储区。 任意时间只有一个成员可以占用此存储区。
11 ---
Xcode
- 一种用于 Mac OS X和iOS程序开发的编译和调试工具。
XML
- 可扩展标记语言。它是Mac OS x上生成的属性列表的默认格式。