WEB开发网
开发学院手机开发iPhone 开发 iPhone 开发入门——从 C/C++ 语言到 Objective-C... 阅读

iPhone 开发入门——从 C/C++ 语言到 Objective-C 语言

 2010-02-22 06:15:00 来源:WEB开发网   
核心提示:发送消息Objective-C 中类似于C/C++中函数调用的地方都被称作“发送消息”,调用某个函数,iPhone 开发入门——从 C/C++ 语言到 Objective-C 语言(3),被称为发送了某个消息,其形式如下图所示 :Objective-C的发送消息方法,Nil首字母大写的Nil和nil有一点不一样,Nil

发送消息

Objective-C 中类似于C/C++中函数调用的地方都被称作“发送消息”。调用某个函数,被称为发送了某个消息。其形式如下图所示 :

Objective-C message

Objective-C的发送消息

方法,SEL,方法实现

Objective-C 中方法,SEL型,实现的关系如如下图所示 :

Objective-C method

Objective-C的方法

概念

SEL,IMP的定义

接下来,我们来看看 Objective-C 语言中的头文件 objc.h 的定义 :

// objc.h

typedef struct objc_class *Class;

typedef struct objc_object {

Class isa;

} *id;

typedef struct objc_selector *SEL;

typedef id (*IMP)(id, SEL, …);

typedef signed char BOOL;

#define YES (BOOL)1

#define NO (BOOL)0

#ifndef Nil

#define Nil 0 /* id of Nil class */

#endif

#ifndef nil

#define nil 0 /* id of Nil instance */

#endif

id

id和void *并非完全一样。在上面的代码中,id是指向struct objc_object的一个指针,这个意思基本上是说,id是一个指向任何一个继承了Object(或者NSObject)类的对象。需要注意的是id 是一个指针,所以你在使用id的时候不需要加星号。比如id foo=nil定义了一个nil指针,这个指针指向NSObject的一个任意子类。而id *foo=nil则定义了一个指针,这个指针指向另一个指针,被指向的这个指针指向NSObject的一个子类。

Objective-C id Object

Objective-C的Object

nil

nil和C语言的NULL相同,在objc/objc.h中定义。nil表示一个Objctive-C对象,这个对象的指针指向空(没有东西就是空)。

Nil

首字母大写的Nil和nil有一点不一样,Nil定义一个指向空的类(是Class,而不是对象)。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:iPhone 开发 入门

编辑录入:coldstar [复制链接] [打 印]
赞助商链接