黑马程序员 - OC语言 - 【考点】ARC使用特点及注意事项

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

1、ARC特点总结

(1)不允许调用release,retain,retainCount

(2)允许重写dealloc,但是不允许调用[superdealloc]

(3)@property的参数:strong:相当于原来的retain(适用于OC对象类型),成员变量是强指针 weak:相当于原来的assign,(适用于oc对象类型),成员变量是弱指针assign:适用于非OC对象类型(基础类型)

考点】在ARC下 @property set方法参数原子性\读写和MRC下是一样的

2、ARC使用注意事项

1)ARC中,只要弱指针指向的对象不在了,就直接把弱指针做清空(赋值为nil)操作

2)__weak Person *p=[[Person alloc]init];//不合理,对象一创建出来就被释放掉,对象释放掉后,ARC把指针设置为nil。__weak Student*stu = [Studentnew];

//1 Student new //产生空间

//2弱指针 stu 指向//弱指针指向对象销毁的过程

//1)释放对象空间 //2) stu= nil

3)ARC中在property处不再使用retain,而是使用strong,在dealloc中不需要再[super dealloc]。

@property(nonatomic,strong)Dog*dog;

//意味着生成的成员变量_dog是一个强指针,相当于以前的retain。

4)如果换成是弱指针,则换成weak,不需要加__。

MRC

ARC

assign

assign

retain

strong(强指针)OC其他的对象 weak(弱指针) UI控件

copy

copy

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值