Automatic Reference Counting,自动引用计数。是苹果公司的Objective-C程序的一种自动内存管理机制,区别于MRC(Manual Reference Counting)。
在Objective-C编程中,当对象的引用计数为0时,该对象释放,否则不释放,运用ARC可以使编程人员基本不用考虑对象何时释放的问题,编译器会在合适的时间自动将其引用计数为零。
<以上摘自百度百科>
class Person{
var dog:Dog?
deinit {
print("人挂了")
}
}
class Dog{
var master :Person?
deinit {
print("狗挂了")
}
}
//var p:Person? = Person()
//var p2 = p
//p = nil
//p2 = nil
//
//var d:Dog? = Dog()
//d = nil
var p:Person? = Person()
var d:Dog? = Dog()
p?.dog = d
d?.master = p
p = nil
d = nil
//循环引用p,d 均不能被释放, 要想解除循环引用可将dog 或master用弱指针修饰
//class Dog{
// weak var master :Person?
// deinit {
// print("狗挂了")
// }
//
//}
网友评论