52个有效方法(36) - 不要使用retainCount
2018-09-07 本文已影响1人
SkyMing一C
//MRC
- (NSInteger)retainCount;
Objective-C通过引用计数来管理内存。每个对象都有一个计数器,其值表明还有多少个其他对象想令此对象继续存活。对象创建好之后,其保留计数大于0。保留与释放操作分别会使改计数递增及递减。当计数变为0时,对象就为系统所回收并摧毁了。然而ARC已经将此方法废弃了。实际上,在ARC中调用,编译器就会报错,这和在ARC中调用retain、release、autorelease方法时的情况一样。
要点
-
对象的保留计数看似有用,实则不然,因为任何给定时间上的“绝对保留计数”(absolute retain count)都无法反映对象生命期的全貌。
-
引入ARC之后,retainCount方法就正式废止了,在ARC下调用该方法会导致编译器报错。