Object 获取对象的引用计数(retain count)
MRC可以直接获取对象的引用计数,像这样NSLog(@"%lu",obj.retainCount);ARC下引用计数由编译器自动管理,不能够直接获取,所以上面的方式不能用了。可以用下面的几种方法://1、利用KVC获取[obj valueForKey:@"retainCount"];//2、使用私有APIOBJC_EXTERN int _objc_rootRetainCou
·
MRC可以直接获取对象的引用计数,像这样
NSLog(@"%lu",obj.retainCount);
ARC下引用计数由编译器自动管理,不能够直接获取,所以上面的方式不能用了。可以用下面的几种方法:
//1、利用KVC获取
[obj valueForKey:@"retainCount"];
//2、使用私有API
OBJC_EXTERN int _objc_rootRetainCount(id);
_objc_rootRetainCount(obj)
//3、转化为Core Foundation对象,获取引用计数
CFGetRetainCount((__bridge CFTypeRef)(obj));
需要注意的是上述方法只能用在dubug调试时,而且在多线程下获取的引用计数值都是不准确的。
更多推荐
已为社区贡献1条内容
所有评论(0)