new 和 alloc 区别

本文详细介绍了iOS中对象初始化的方法,包括new、alloc和init的区别,以及如何重写构造方法和使用自定义构造方法来初始化对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在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>才会进行子类内部成员变量的初始化

 

 

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

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/lanmaokomi/p/8431496.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值