new 和 alloc 区别

在ios  初始化对象时候 我们可以看到

 

 

 

这两种方法都是可以的

 

但是有声明区别呢?

1 +new: 会给我们的对象分配一个存储控件,并且会初始化

2 +alloc :会给我们的对象存储空间

3 -init:初始化

看图就可以明白其实这几个都是xcode 给我们封装好了初始化的方法

//调用:

 被调用类

 

 也就是说

 init:这里重写了 init等于:每个对象创造出来的时候,它的name都等于“My name is Prototype”

 当然也可以直接写初始化例如:

 

 

 构造方法:用来初始化对象的方法,是一个对象方法以-号开头

 每个对象创造出来的时候,它的_age都相等(重写了NSObject里面的- init方法);

 重写构造方法的注意点:

 1>先调用父类的构造方法 ([super init])

 2>才会进行子类内部成员变量的初始化

 

 自定义构造方法:

 每个对象创建的时候,我们可以自己给他传入一个相应的

 

 自定义构造方法的规范:

 1>对象方法,以-号开头

 2>返回值一般都是id类型

 3>方法名都是以initWith开头

 父类

 

 子类

 

 这个就是

 1>先调用父类的构造方法 ([super init])

 2>才会进行子类内部成员变量的初始化

 

 

 -----未完待续----------

 

 

 

 

 

 

 

 

posted @ 2018-02-08 14:51  懒猫口米  阅读(375)  评论(0编辑  收藏  举报