文件名称:object c 编程
文件大小:453KB
文件格式:PDF
更新时间:2013-07-13 11:34:49
object c iphone
这篇教学假设你已经有一些基本的 C 语言知识,包括 C 数据型别、什么是 函式、什么是回传值、关于指针的知识以及基本的 C 语言内存管理。如果 您没有这些背景知识,我非常建议你读一读 K&R 的书:The C Programming Language(译注:*出版书名为 C 程序语言第二版)这是 C 语言的设计者 所写的书。 n Objective-C,是 C 的衍生语言,继承了所有 C 语言的特性。是有一些例外, 但是它们不是继承于 C 的语言特性本身。 n nil:在 C/C++ 你或许曾使用过 NULL,而在 Objective-C 中则是 nil。不同之 处是你可以传递讯息给 nil(例如 [nil message];),这是完全合法的,然而你 却不能对 NULL 如法炮制。 n BOOL:C 没有正式的布尔型别,而在 Objective-C 中也不是「真的」有。它 是包含在 Foundation classes(基本类别库)中(即 import NSObject.h;nil 也 是包括在这个标头档内)。BOOL 在 Objective-C 中有两种型态:YES 或 NO,而不是 TRUE 或 FALSE。 n #import vs #include:就如同你在 hello world 范例中看到的,我们使用了 #import。#import 由 gcc 编译器支持。我并不建议使用 #include,#import 基本 上跟 .h 档头尾的 #ifndef #define #endif 相同。许多程序员们都同意,使用这 些东西这是十分愚蠢的。无论如何,使用 #import 就对了。这样不但可以避 免麻烦,而且万一有一天 gcc 把它拿掉了,将会有足够的 Objective-C 程序员 可以坚持保留它或是将它放回来。偷偷告诉你,Apple 在它们官方的程序代 码中也使用了 #import。所以万一有一天这种事真的发生,不难预料 Apple 将 会提供一个支持 #import 的 gcc 分支版本。 n 在 Objective-C 中, method 及 message 这两个字是可以互换的。不过 messages 拥有特别的特性,一个 message 可以动态的转送给另一个对象。在 Objective- C 中,呼叫对象上的一个讯息并不一定表示对象真的会实作这个讯息,而是 对象知道如何以某种方式去实作它,或是转送给知道如何实作的对象。