OC之ARC机制

 

/*

 ARC的判断准则:只要没有强指针指向对象,就会释放对象;反之就不会

 

 指针分2种:

  1> 强指针:默认情况下,所有的指针都是强指针  __strong

  2> 弱指针:  __weak   当弱指针所指的对象被销毁后,该弱指针会自动被清空,变为空指针

       没有意义的写法,因为这样写,Person对象p刚创建就会被销毁

       __weak Person *p = [[Person alloc] init];    // 这行代码后,编译器会自动加上 p = nil;

 

 ARC特点:

  1> 不允许调用releaseautoreleaseretainretainCount

  2> 允许重写dealloc方法,但是不允许在重写的dealloc里面调用[super dealloc];

  3> @property参数

      * strong 成员变量是强指针,相当于原来的retain(适用于OC对象类型)

      * weak   成员变量是弱指针(适用于OC对象类型)

      * assign (适用于非OC对象类型)

      ***  以前的retain改为strong

 

    

     当两端对象循环引用的解决方案:

 ARC:  1端用strong,1端用weak

 

 ARC:  1端用retain,1端用assign

 */

 

Xcode的ARC功能转换(包括项目是ARC,但是某个类不是;或者相反)

视频27

转载于:https://www.cnblogs.com/ithmPeak/p/4401401.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值