MRC下打印delegate的retainCount为15

打印引用计数问题

在MRC环境下打印delegate的引用计数发现这个引用计数是十几,为什么会出这种情况?

MRC下retainCount方法

官方文档

在用MRC环境打印引用计数调试问题的时候发现,打印delegate的retainCount的时候,该方法返回十几的数,想了一下,delegate的引用计数不应该是十几啊,应该是1不是吗。

可以直接打印tableView的delegate试试看。

查了苹果官方文档:

This method is of no value in debugging memory management issues. Because any number of framework objects may have retained an object in order to hold references to it, while at the same time autorelease pools may be holding any number of deferred releases on an object, it is very unlikely that you can get useful information from this method.

This method is of no value in debugging memory management issues.

这个方法在研究引用计数上没什么意义。所以说打印delegate的引用计数或者其他的有可能是不准确的。

那么苹果底层为什么要这么做呢?引用计数是十几的话都是哪些对象引用了delegate呢?

猜你喜欢

转载自blog.csdn.net/morris_/article/details/79901832