关于iOS 中retainCount=-1和一长串数字疑解

转载 2015年11月18日 10:24:19

根据苹果的官方文档https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Protocols/NSObject_Protocol/Reference/NSObject.html

上面写着应该返回的是这个对象的UINT_MAX, 并且不会释放, 这个UINT_MAX

最大二进制为(11111111111111111111111111111111)也是十六进制(0xffffffff)
如果你当成有符号数取补码后输出就得-1;
如果你当成无符号数就是最大数即:4294967295

2.在X64的机器上输出是9223372036854775807,int的最大值  在I386的机器上输出是2.因为NSNumber的numberWithInteger产生的对象是属于autorelease pool

在帮助文档中

可以看到这么一句话:

The retainCount method does not account for any pending autorelease messages send to the receiver.

就是说retainCount 对于autorelease消息产生的的对象,并不可靠。

3.Do not use this method. (required) You should never use-retainCount, because it never tells you anything useful. 永远不要用这个方法,只要遵守alloc,neworcopy以及任何需要分配内存的时候调用release就可以了

参考文档:


http://www.friday.com/bbum/2011/12/18/retaincount-is-useless/

相关文章推荐

iOS 切换到MRC环境下打印 retainCount 始终是-1或者一长串证书

根据苹果的官方文档https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Protocols...
  • wxs0124
  • wxs0124
  • 2016年12月20日 17:39
  • 573

OC release之后 retainCount为何为1

在XCode中加入如下代码:  UILabel *label=[UILabel alloc]; [label setText:@"TestLabel"]; NSLog(@"%d",[label ...

html td 换行-解决长串英文字母或者数字不能自动换行的问题

例如:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 在td里面不能AUTO换行,将表格伸的很长很长,而汉字字符却可以AUTO换行。 原因是: ...

linux通过长串数字设置时间

Let’s say you want to set your computer’s new time to December 6, 2007, 22:43:55, then you would use...

Objective-C 的基本数据类型、数字、字符串和集合等介绍 (retaincount 释放问题)

http://blog.sina.com.cn/s/blog_662b417f0100s50n.html 基本类型 Objective-C中的基本类型和C语言中的基本类型一样.主要有:...

OC release之后 retainCount为何为1

学到内存管理的时候,偶然调试代码发现这样的现象:  Dog* dog = [[Dog alloc] init];  NSLog(@"dog 的引用计数%ld",dog.retainCount);...

关于OC中NSString类型的 retainCount为-1的情况

1. 字符串常量,类似于C语言形式,静态区存储     NSString *str1 = @"aaa";     NSLog(@"str1.retainCount = %lu",str1.retain...

iOS NSString retainCount遇到的问题

NSString的内存管理昨天做了一道面试题,第一题就是关于NSString的内存管理的,直接上代码。现有如下person.m文件,请写出test方法执行后的输出。@interface Parent ...
  • pelsor
  • pelsor
  • 2016年06月22日 16:55
  • 174

将一个字符长串分出单词(林大oj1002)

将一个字符长串分出单词 看来写代码要细心的很啊 !!!

搜索引擎中长串匹配及聚类算法:后缀树算法

上个月写了一个后缀树算法,但是生成树的效率极低,这次重新改写,效率接近线性了,c++实现的,下面面是核心算法: Node *pTmpNode; Edge *pEdge, *pTmp...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于iOS 中retainCount=-1和一长串数字疑解
举报原因:
原因补充:

(最多只允许输入30个字)