iOS开发-学习笔记-对象初始化

创建对象有两种方法:
[类名 new]
[[类名 alloc] init];
惯例是使用第二种. 两种效果基本等价,不同的是第二种可以在分配内存时地址连续,更节约资源消耗,还可以调用多个init方法初始化.
创建对象后需要进行(内存)分配和初始化两个操作,这两个操作是分离的,分配是从操作系统获得一块内存,初始化是将这块内存用于存储对象.使用的方法是嵌套调用

Car *car = [[Car alloc] init];

为什么要用嵌套: 因为初始化返回的方法可能与分配的对象不同.
惰性求值: 即使目前没有设置自定义属性的值,也应该等到调用者需要时再创建对象.
(有点类似Java里面的单例模式下的懒汉模式了)

在自己的初始化方法中,需要调用自己指定的初始化函数或者超类的指定初始化函数,
一定要将超类的初始化函数的返回值赋给self, 并返回自己的init方法的值.

属性

属性的作用: 组合新的预编译指令和新的访问器语法,减少代码数量.
属性关键字@property, 可以自动声明属性的setter和getter方法,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值