iOS-ARC-环境下如何查看引用计数的变化
iOS-ARC-环境下如何查看引用计数的变化
一,新建立一个工程,用于测试引用计数的变化。

二,找到如下路径Build Phases---->Compile Sources---->AppDelegate.m

三,选中AppDelegate.m文件,如图所示。

四,将AppDelegate.m的Compiler Flags设置为"-fno-objc-arc".如图所示。
这是因为我们要在AppDelegate.m文件中写我们的测试的代码。而工程默认是ARC管理内存的。所以,我们将其用参数“-fno-objc-arc",将其设置为手动管理内存。

五,在AppDelegate.m中输入如下代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
NSObject *object=[[NSObject alloc]init];
NSLog(@"object-%ld",[object retainCount]);
NSObject *another=[object retain];
NSLog(@"object-%ld",[object retainCount]);
[another release];
NSLog(@"object-%ld",[object retainCount]);
[object release];
return YES;
}

六,开始进行代码的编写。并且运行。输出结果如图所示:
2015-07-14 21:35:46.252 ARC下引用计数的变化Demo[2070:86317] object-1
2015-07-14 21:35:46.252 ARC下引用计数的变化Demo[2070:86317] object-2
2015-07-14 21:35:46.253 ARC下引用计数的变化Demo[2070:86317] object-
iOS-ARC-环境下如何查看引用计数的变化的更多相关文章
- 【读书笔记】iOS-ARC-环境下如何查看引用计数的变化
一,新建立一个工程,用于测试引用计数的变化. 二,找到如下路径Build Phases---->Compile Sources---->AppDelegate.m 三,选中AppDeleg ...
- 【读书笔记】iOS-ARC-环境下怎样查看引用计数的变化
一.新建立一个project.用于測试引用计数的变化. 二,找到例如以下路径Build Phases---->Compile Sources---->AppDelegate.m 三,选中A ...
- iOS ARC环境下dealloc的使用
众所周知,iOS开发的时候,使用ARC的话,dealloc函数是不需要实现的,写了反而会出错. 但有些特殊的情况,dealloc函数还是需要的. 比如,在画面关闭的时候,需要把ViewControll ...
- iOS 在 ARC 环境下 dealloc 的使用、理解误区
iOS 在 ARC 环境下 dealloc 的使用.理解误区 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致&qu ...
- iOS: ARC & MRC下string内存管理策略探究
ARC & MRC下string内存管理策略探究 前两天跟同事争论一个关于NSString执行copy操作以后是否会发生变化,两个人整了半天,最后写代码验证了一下,发现原来NSString操作 ...
- oc引用计数原理-引用计数相关变化
http://blog.csdn.net/null29/article/details/71191044 在 32 位环境下,对象的引用计数都保存在一个外部的表中,每一个对象的 Retain 操作,实 ...
- Linux环境下如何查看内存CPU和GPU使用情况以及界面标题栏实现
查看内存和CPU 单独查看内存使用情况的命令:free -m 查看内存及cpu使用情况的命令:top 也可以安装htop工具,这样更直观, 安装命令如下:sudo apt-ge ...
- 当碰到非ARC写的文件时在ARC环境下运行报错时解决办法
- IOS内存管理「1」- 引用计数
随机推荐
- code[VS] 1048 石子归并
题目描写叙述 Description 有n堆石子排成一列,每堆石子有一个重量w[i], 每次合并可以合并相邻的两堆石子.一次合并的代价为两堆石子的重量和w[i]+w[i+1]. 问安排如何的合并顺序, ...
- sublime 格式化XML文件
下载插件 下载下来后将其解压到D:\tools\Sublime Text 3109\Data\Packages 打开sublime,preferences->browse packages,会弹 ...
- ios8.1.3Cydia重装
1.下载deb包 2.把包放到/var/mobile/Media/下 3.终端输入:dpkg -i /var/mobile/Media/*.deb 然后输入:su -c uicache mobile ...
- JSON path
https://github.com/itguang/gitbook-smile/blob/master/springboot-fastjson/fastjson%E4%B9%8BJSONPath%E ...
- 转:CMake安装和使用
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程).他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX ...
- HDUOJ-----1166敌兵布阵
敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- [译]为什么Vue不支持templateURL
原文链接 Vue的新用户最常问的一个问题,特别是以前使用Angular的用户,是"我可以使用" templateURL吗?这个问题我回答过很多次,现在写一个统一回复. 在Angul ...
- 有用的git片段
世界上知识那么多,又岂是人力所能穷尽,于是术业有专攻.对于git,有用的命令片段其实非常少,而命令却是非常多.于是,掌握git常见的用法就足够了.不要在语句级别上记忆git命令,在代码片段级别上记忆g ...
- 深入理解SpringBoot配置
一.application.properties的位置 1.当前目录的 "/config"的子目录下 2.当前目录下 3.classpath根目录的"/config&qu ...
- Java JDBC数据库编程
课程 Java面向对象程序设计 一.实验目的 掌握数据库编程技术 二.实验环境 1.微型计算机一台 2.WINDOWS操作系统,Java SDK,Eclipse开发环境,Microsoft SQL ...