黑马程序员技术交流社区
标题:
为什么叫类对象,而不叫结构体变量??
[打印本页]
作者:
0826iOS_sunzhen
时间:
2015-9-15 23:35
标题:
为什么叫类对象,而不叫结构体变量??
类的本质其实也是一个对象(类对象),是Class类型,可是Class不就是结构体指针的别名吗?为什么不叫结构体指针变量,我有点凌乱
类的结构体
struct objc_class {
Class isa OBJC_ISA_AVAILABILITY;
#if !__OBJC2__
Class super_class OBJC2_UNAVAILABLE;
const char *name OBJC2_UNAVAILABLE;
long version OBJC2_UNAVAILABLE;
long info OBJC2_UNAVAILABLE;
long instance_size OBJC2_UNAVAILABLE;
struct objc_ivar_list *ivars OBJC2_UNAVAILABLE;
struct objc_method_list **methodLists OBJC2_UNAVAILABLE;
struct objc_cache *cache OBJC2_UNAVAILABLE;
struct objc_protocol_list *protocols OBJC2_UNAVAILABLE;
#endif
} OBJC2_UNAVAILABLE;
/* Use `Class` instead of `struct objc_class *` */
复制代码
/// An opaque type that represents an Objective-C class.
typedef struct objc_class *Class;
复制代码
是不是我的理解出现问题了,还是这仅仅是一个定义
作者:
范文鹏
时间:
2015-9-16 01:02
我擦 完全看不懂啊 不过只要知道定义就好啦
作者:
0826iOS_sunzhen
时间:
2015-9-16 23:19
范文鹏 发表于 2015-9-16 01:02
我擦 完全看不懂啊 不过只要知道定义就好啦
今天老师说了,类的本质是对象,是一种特殊的对象。暂且这么理解
作者:
企业部-阿狗老师
时间:
2015-9-17 00:13
Objective-C类是由Class类型来表示的,它实际上是一个指向objc_class结构体的指针。
就相同于是一种类型 而不再属于结构体了 好像OC上面有一段分类就是关于 各种体系的 忘了
作者:
企业部-阿狗老师
时间:
2015-9-17 00:24
结构体指针是他的底层
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2