首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >retainCount总是-1?

retainCount总是-1?
EN

Stack Overflow用户
提问于 2012-08-25 12:48:46
回答 1查看 134关注 0票数 1

有人能帮我吗,我有一些代码,我正在检查retainCount,但它总是-1,它至少应该是1?

这是我的代码,我哪里做错了?

代码语言:javascript
复制
    NSNumber* n = [[NSNumber alloc] initWithInt:100];

    NSLog(@"Count of   n : %i",[n retainCount]);

    NSNumber* n1 = n;

    NSLog(@"Count of   n : %i",[n retainCount]);
    NSLog(@"Count of   n1: %i",[n1 retainCount]);
    NSLog(@"Address of n : %p", n);
    NSLog(@"Address of n1: %p", n1);

我得到的另一个奇怪的事情是关于%i,它实际上返回一个uint,所以我将%i替换为%u,现在我得到了一个非常长的retainCount - 4294967295数字

有点困惑,有什么想法吗?

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-25 12:54:26

-retainCount的结果在您的抽象级别上毫无价值,这是另一个原因。

…但是为了继续你的问题:NSUIntegerMax表示一个不朽的对象。

您可以在一些文档中找到对此的参考:

您可以在类中重写此方法以实现您自己的引用计数方案。对于从不释放的对象(即它们的release方法不执行任何操作),此方法应返回<limits.h>中定义的UINT_MAX。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12119237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档