Objective-C 回顾【一】之 熟悉 Objective-C
Objective-C 语言的起源
Objective-C 与 C++,Java 等面向对象的语言类似,不过在很多地方还是有所差别。Objective-C 使用“消息结构”(messaging structure)而非“函数调用”(function calling)。
消息结构的语言与函数调用的语言关键区别在于:
- 使用消息结构的语言,其运行时所应执行的代码由运行环境决定,也就是说,在运行时才会检查对象类型。接收一条消息之后,究竟应执行何种代码,由运行期环境而非编译器来决定;
- 使用函数调用的语言,运行时所执行的代码由编译器决定;
要点:
- Objective-C 为 C 语言添加了面向对象特性,是其超集。Objective-C 使用动态绑定的消息结构,也就是说,在运行时才会检查对象类型。接收一条消息之后,究竟应执行何种代码,由运行期环境而非编译器来决定。
- 理解 C 语言的核心概念有助于写好 Objective-C 程序。尤其要掌握内存模型与指针。
在类的头文件中尽量少引入其他头文件
在类的头文件中(.h)我们一般不需要知道引入的某个类的全部细节,这时候,我们可以用 @class
关键字去告诉编译器,知道有一个类名为 xxx 的类就好,不需要关注细节。
这叫做“向前声明”(forward declaring)该类。在实现文件(.m)中我们使用该类时就需要知道其所有细节,这时我们需要用 #import
关键字去导入 xxx 类的头文件。
将引入头文件的时机尽量延后,只有确有需要时才引入,这样就能减少类的使用者所需引入头文件的数量。这样能够一定程度上的减少编译的时间。