A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

思路分析:Person是个类,[Person alloc] 是类在调方法,顾名思义alloc就是一个对象方法,那么alloc是哪里来的呢?因为所有类都继承自NSObjcet,所以alloc是从NSObject里面来的,同理init也是来自NSObject,可以跳到NSObject这个头文件去看
完整的创建对象有两步[Person new]中的new创建的对象太死板,里面直接做了alloc 和init这两步
1.        分配了存储空间  ([Person alloc]其实是Person调用了它的类方法,当调用alloc的时候,此时,马上会返回一个有存储空间的对象给你,分配的这块存储空间里面全部是0,这个是不能用的,为什么?因为没有初始化,这就是需要引用到init的作用。)
2.        初始化   (上面说了init的由来,所以所有的类都有一个默认的初始化方法init, 当调用了init之后就把这块空间给初始化了,这个对象就可以用了,但是它是最基本的初始化,里面还仍然全部是0)。因此,这也是我们为什么有时候要重写init构造方法的原因,就是在创建好对象之后,让这个区域里面不是0;

1 个回复

倒序浏览
讲解的很仔细呢,有用奥
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马