Object-C之初始化init构造方法

当一个类执行new方法时,背后是先执行alloc方法,在执行init方法,然后返回一个已经初始化完成的该类的对象。下面简单介绍一下init的基础内容:

一、init执行的目的:

1.init执行是初始化对象的方法,同时给属性赋默认值。基本类型(int float double等)会初始化为0。C指针类型,会初始化为NULL,OC指针会初始化为nil。

2.init方法可以重写。重写init方法时,先调用[super init],执行父类初始化操作,父类初始化中包含了初始化isa指针等操作。由于内存空间问题,有可能会初始化失败。自定义初始化时,在此要加入判断,具体代码格式苹果官方文档有以下展示:

self = [super init];

if(self != nil){

      初始化当前对象的操作;
}

return self;

3.可以根据对象的特性和编码的便捷性进行自定义init构造方法,该方法返回值必须为instancetype类型。构造方法的名称必须以initWith开头,系统会识别为初始化构造方法。with后面可以自定义带一些参数。

4.self只有在初始化构造方法init中可以写self = XXX,其它任何地方都不能给self赋值。

如果还有其它未补充的内容,欢迎留言补充,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值