《Cocoa设计模式》读书笔记(2)

本文介绍了Cocoa对象的初始化过程,并详细解释了初始化时遵循的约定,包括如何正确调用父类初始化方法及如何处理初始化失败的情况。

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

第2部分  两阶段创建

这是神马模式??乍一听还真的比较生疏。看完才明白,原来就是讲Cocoa对象如何初始化的。

熟悉java/c++的朋友,应该都知道如何创建类的实例以及初始化,那就是用关键字 "new"。而Cocoa则依赖基类NSObject所制定的一些约定。来为Cocoa的的类分配和初始化新的实例。这里列举这些约定,以确保得到正确的初始化实例。

1.确保指定初始化方法调用父类的指定初始化方法。这里的指定,你也可以理解为默认,所以注意一下Cocoa每个类的指定初始化方法特别关键。比如,NSObject的指定初始化方法为 -init。

 2.将self分配至父类的指定初始化方法所返回的对象。self是什么?self是每个方法中隐藏的两个参数之一,另外一个是_cmd。self变量的初始值始终是接收消息的对象,此消息用来执行方法。

3.如果父类的指定初始化方法返回的值是nil,不要访问实例变量。

4.确保每个不是指定初始化方法的新初始化方法调用指定初始化方法。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值