Objective-C学习笔记-ARC

1.和Java一样,Objective-C中也有自动回收对象的机制ARC,当一个对象没有任何指针指向时,对象就会被释放

2.默认的对象指针都是强引用的,假设现在有两个对象,A和B互相引用,那么着两个对象都没有办法通过ARC机制来释放

3.可以通过弱引用来解决上面遇到的问题,下面的代码中,如果现在有A,B这两个对象,当代码执行完毕时,A中的B对象由于是弱引用,所以B可以被自动释放,B被释放后,A对象也没有其他对象引用了,也被释放了

@interface classA:NSObject

@porperty (nonatomic,weak) classB * objB;

__weak classB * objB;

-(void)test;

@end

@interface classB:NSObject

@porperty (nonatomic,strong) classA * objA;

-(void)test;

@end


ClassA * A=[...]
ClassB * B=[...]
A.objB=B;
B.objA=A;

4.当一个弱引用对象被释放后,该对象会被自动置为nil

posted @ 2018-09-03 23:56  土豆吞噬者  阅读(92)  评论(0编辑  收藏  举报