设计模式 - 两步创建

概念:

步骤一:对象分配内存 例如: alloc
步骤二:初始化 例如: init

alloc做的事情:发送消息获得一个实例

  1. 对象的 retain(保持)数设置为1
  2. 分配对象的 isa 指针指向类对象
  3. 把所有对象的实例变量初始化为0(nil)

初始化对象

格式:

initWith...

步骤:

  1. 先要调用父类的初始化方法(以保证继承链中父类的实例变量得到正确的赋值)
  2. 检查父类初始化返回对象,如果是 nil 则初始化失败,也返回 nil
  3. 在初始化实例变量时,如果他们是其他对象的应用,不要死进行 retain 和 copy
  4. 如果返回一个已存在的对象,那实现释放新分配的对象
  5. 初始化失败,返回 nil
  6. 如果没问题,返回 self, 初始化完成

你可能感兴趣的:(设计模式 - 两步创建)