Fork me on GitHub

OC, Swift 获取引用计数 ReatinCount

调试时偶尔需要用到引用计数器,查看对象的引用次数来推断是否存在内存泄漏,使用 Objective-C 的话可以用下列方式获取引用计数。

1
2
3
4
5
6
7
8
9
10
// OC方法如下
// 第一种方式,KVC
[obj valueForKey:@"retainCount"]

// 第二种方式,RunTime
OBJC_EXTERN int _objc_rootRetainCount(id);
_objc_rootRetainCount(obj)

// 第三种方式
CFGetRetainCount((__bridge CFTypeRef)(obj))

 
使用 Swift 的话可以用下列方式获取引用计数。

1
2
// Swift中方法
let count = CFGetRetainCount(self)
------------- 本文结束感谢您的阅读 -------------