5-类创建相关

2015-07-14  本文已影响27人  SoftKnife
People Lack Willpower,Rather Than Strength!

1..m中的私有成员/方法

2.编译器指令

3.id类型

4.new实现原理

 This method is a combination of alloc and init. Like alloc, it initializes the isa instance variable of the new object so it points to the class data structure. It then invokes the init method to complete the initialization process.

5.init方法重写

- (instancetype)init 
{ 
    self = [super init];
    if (self) {
        // Initialize self.
    } 
    return self; 
} 
+ [super init]的作用: 面向对象的体现,先利用父类的init方法为子类实例**继承自父类父类部分属性**初始化。
    > 可见,虽然调用的是父类的对象方法,但是确实为我子类的对象做事!
    > (self是隐式参数,实际init消息的receiver是self).
+ [super init]为什么要赋值给self :简单来说是为了防止父类的初始化方法**release掉了self指向**的空间并重新alloc了一块空间。还有[super init]可能alloc失败,这时就不再执行if中的语句。

6.类的本质

No. 本质说明
1 一个对象(类对象)
2 第一次使用该类的时候被创建,在整个程序中只有一份。
3 在程序运行时一直存在。
4 是一种数据结构,存储类的基本信息:类大小,类名称,类的版本,继承层次,以及消息与函数的映射表等.可见:􏰁类对象简述了一系列它的实例的特点,包括成员变量的列表,成员函数的列表等
5 代表类,Class类型,对象方法属于类对象
6 所有类的实例都由类对象生成,类对象会把实例的isa的值修改成自己的地址.

7.类的启动过程

8.SEL类型

上一篇 下一篇

猜你喜欢

热点阅读