首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSString retainCount是2147483647

NSString retainCount是2147483647
EN

Stack Overflow用户
提问于 2011-03-30 07:41:11
回答 1查看 1.4K关注 0票数 2

可能重复:

NSString retain Count

Objective C NSString* property retain count oddity

When to use -retainCount ?

为什么这段代码显示大于1的保留值?为什么是2147483647?

代码语言:javascript
复制
NSString *data22 = [[NSString alloc] initWithString:@"fsdfsfsdf"];

int a = [data22 retainCount];
NSLog(@"retain count 1== %d  ====" ,a);

以上代码的输出如下

代码语言:javascript
复制
 retain count 1== 2147483647  ====
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-30 07:52:31

是2147483647因为你看了。不要看,这将是你所期望的价值。

我是认真的。不要打电话给retainCount。永远不会。这是没用的。

为什么这个数字如此荒谬,是因为它有一个实现细节。@“.”是一个常量的字符串。NSString可以识别常量字符串,并决定您的特定代码不需要使用常量不可变字符串的第二个空间副本,从而返回已经存在的常量字符串。

也就是单身人士。其实例仅由编译器创建的类。对此retain/release/autorelease/retainCount完全没有意义。

至于为什么是2147483647,一幅画值一千字。或者,在这种情况下,31设置位。

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

https://stackoverflow.com/questions/5483357

复制
相关文章

相似问题

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