关于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中dealloc时retainCount仍为1的一种解释

第一次写博客,必然有一些不是很好的地方,欢迎大家指正。本文仅代表个人观点,如果与朋友你的观点有些许出入,欢迎提出来共同讨论。当前问题: 今天有朋友提出了一个问题,他写了一个Dog类,然后在Dog类里...
  • u013046795
  • u013046795
  • 2015年07月19日 13:58
  • 1012

iOS 扩展Ijkplayer解码方式

Ijkplayer框架中,解码方式的选择只有 智能硬解(硬解失败,自动转软解)、软解 两种,功能上讲,两种方式已够用,但偶尔也有需求让扩展成用户自选的三种解码方式:智能、硬解、软解。下文讲的就是如何在...
  • Nine_Yao
  • Nine_Yao
  • 2017年05月19日 17:42
  • 1214

ios- 归档 解档

归档解档是OC 中很重要的知识点 弥补了NSUserDefaults 的不足 可以存储自定义的对象 我们可以存储多个对象 需要一个数组接受即可 #import @interface U...
  • u012701023
  • u012701023
  • 2015年09月24日 11:38
  • 1989

iOS 代码解耦利器(一)

最近写demo的过程中需要通过tableView的cell跳转到多个页面,当时偷懒不想去引用头文件了,灵光一闪,写了一个跳转的方法,后来自己有完善了一下,基本满足了不带参数的页面跳转,带参数的页面跳转...
  • HHL110120
  • HHL110120
  • 2016年10月28日 12:18
  • 971

iOS项目组件化解耦

最近给公司的一个iOS项目进行组件化解耦。本身项目早期开发就不是很规范,而且刚刚开始熟悉这个项目对业务方面也不是很熟悉所以并没有对所有的模块进行组件化。而且组件化解耦后还存在一些问题在文章中都会写出来...
  • GGGHub
  • GGGHub
  • 2016年10月01日 11:06
  • 3207

iOS运行时实现归档解档

一、什么是运行时(Runtime)? runtime是一套比较底层的纯C语言的API,runtime就是一个库,一个C语言库,包含了许多底层的C语言API 平时我们编写的OC代码,在程序运行过...
  • shan1991fei
  • shan1991fei
  • 2017年04月18日 15:23
  • 618

iOS runtime讲解,并且用runtime动态归档与解档

// //  AppDelegate.m //  Runtime自动归档 // //  Created by CONGAING on 15/7/13. //  Copyright...
  • oQingTing12345
  • oQingTing12345
  • 2015年10月06日 09:14
  • 1676

iOS cocos2d 实现RollNumber(数字滚动效果)控件效果源码

这半年一直在用object-c开发一个ios游戏。使用cocos2d和box2d 。开发游戏变的简单多了。这游戏开发了半年多了。直到最近这个游戏停止了,因为资金问题,老大没法在发更多的工资了。哎,真的...
  • tian_110
  • tian_110
  • 2014年12月20日 10:58
  • 746

移动App开发中的View解耦问题

这几天在做给IOS代码降耦的事情,顺便唠叨几句开发中的View解耦问题。 首先,我们先定位一下View的角色:View应该只操心前/后景色,字体属性,布局特性,x/y/width/height等纯视觉...
  • a345017062
  • a345017062
  • 2015年01月06日 12:20
  • 4365

设计模式深入学习IOS版(9)工程依赖解耦之静态链接库

1 前言   有时候,我们要将某一层服用给其他的团队,公司或者个人,由于某些原因,不能提供源码,这时候就可以将业务层和数据持久层编写成静态链接库(static li'brary或statically-...
  • u010013695
  • u010013695
  • 2014年02月27日 14:56
  • 2251
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于iOS 中retainCount=-1和一长串数字疑解
举报原因:
原因补充:

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