Objective-C中的一些特殊的数据类型
时间: 2009-06-11 19:34 点击: 次
在Objective-C中,有一些我们之前并不熟悉但是经常见到的数据类型,比如id、nil、Nil、SEL等等。在很多文章里,我们都见过这些数据类型的介绍,但是都没有说的太清楚。 这篇文章从最
IMP
从上面的头文件中我们可以看到,IMP定义为 id (*IMP) (id, SEL, …)。这样说来, IMP是一个指向函数的指针,这个被指向的函数包括id(“self”指针),调用的SEL(方法名),再加上一些其他参数。
说白了IMP就是实现方法。
Method
在objc/objc-class.h中定义了叫做Method的类型,是这样定义的:
-
typedef struct objc_method *Method;
-
struct objc_method {
-
SEL method_name;
-
char *method_types;
-
IMP method_imp;
-
};
这个定义看上去包括了我们上面说过的其他类型。也就是说,Method(我们常说的方法)表示一种类型,这种类型与selector和实现(implementation)相关。
Class
从上文的定义看,Class(类)被定义为一个指向struct objc_class的指针,在objc/objc-class.h中它是这么定义的:
-
struct objc_class {
-
struct objc_class *isa;
-
struct objc_class *super_class;
-
const char *name;
-
long version;
-
long info;
-
long instance_size;
-
struct objc_ivar_list *ivars;
-
struct objc_method_list **methodLists;
-
struct objc_cache *cache;
-
struct objc_protocol_list *protocols;
-
};
这里除了介绍一下定义之外就不打算说的太详细了,今后我们会详细介绍一下。
顶一下(4)
66.7%
踩一下(2)
33.3%
发表评论
本类文章点击排行榜
- [06-11] 苹果开发技术: Cocoa 框架概述
- [04-08] Xcode 开发员入门引导(简体中
- [06-04] 苹果官方推荐教程《Cocoa基本
- [06-11] 介绍一篇很不错的Objective-C的
- [06-11] Cocoa教学:Windows OOP与Cocoa MV
- [06-11] Objective-C中的一些特殊的数据
- [06-11] 歪批:XCode之外的选择?苹果
- [06-11] 一点基础的东西:Objective-C的
- [06-11] Cocoa的单态(singleton)设计模式
推荐内容
最近更新
- [07-12] 关于NSView 的2种初始化方式
- [07-07] iOS 4 多任务和后台运行原理图
- [07-05] Xcode中快速查看函数介绍和帮助的方法
- [06-28] iOS 4 的多任务究竟是怎么回事?
- [06-23] Mac程序开发基础:打开一个目录的方法
- [06-23] retain和copy的区别
- [06-04] 苹果官方推荐教程《Cocoa基本原理指南》
- [04-29] iPhone和Android应用程序界面对比
- [04-08] Xcode 开发员入门引导(简体中文版)
相关文章
- [04-29] iPhone和Android应用程序界面对比
- [04-07] 向苹果公司反馈产品Bug的方法
- [06-11] Cocoa的单态(singleton)设计模式
- [06-11] 谈谈XCode代码自动完成Code Sense功能及XCode界面设置


Xcode 开发员入门引导(简体中文版)
iPhone的Push(推送通知)功能原理浅析
Cocoa教学:Windows OOP与Cocoa MVC之对比
谈谈XCode代码自动完成Code Sense功能及XCode界面设置