保留视图控制器的计数

时间:2015-11-19 01:14:33

标签: ios objective-c memory memory-management retaincount

我正在尝试在viewDidLoad方法中打印视图控制器的保留计数。返回的值是3。

有人可以告诉为什么价值3?

我的代码如下

@implementation ViewController

    - (void)viewDidLoad
    {
        [super viewDidLoad];
        NSLog(@"Retain count in View Did Load is %ld", CFGetRetainCount((__bridge CFTypeRef)(self)));

    }

2 个答案:

答案 0 :(得分:2)

我不担心。 retainCount通常会暂时高于您的预期。添加-dealloc方法进行调试/单元测试,并确保在viewController被解除时调用它,你就可以了。

答案 1 :(得分:2)

嗯,这对我来说是25:

2015-11-18 19:53:51.323 test[61900:10880987] Retain count in View Did Load is 25

您不能依赖保留计数作为任何特定数字(除非它不会为零)。

如果你真的想知道它是如何结束的,请使用仪器:

instruments allocation trace