内存管理1retain和release

Student.h:

#import <Foundation/Foundation.h>   @interface Student : NSObject  @property int age;  //默认会生成一个_age属性  @end

Student.m:

#import "Student.h"  @implementation Student //@synthesize age=_age;//xcode4.5中可以不使用synthesise方法,直接在头文件中使用property方法即可 //如果只在m文件中定义而没有在h文件中申明的方法属于privte方法,如果不写类型一般默认是protected方法 -(void)dealloc{  //构造父类的回收方法     NSLog(@"%@被销毁了",self);     NSLog(@"_age %i",_age);     [super dealloc];//一定要调用super的dealloc方法,最好放在最后面调用 } @end

main:

#import <Foundation/Foundation.h> #import "Student.h"  int main(int argc, const char * argv[]) {      @autoreleasepool {         Student *stu=[[[Student alloc] init] autorelease];  //alloc方法计数器为1         [stu retain];//调用一次retain方法计数器加1         NSLog(@"retaincount is %zi",[stu retainCount]);         [stu release];//调用一次release方法计数器减1         NSLog(@"retaincount is %zi",[stu retainCount]);         stu.age=10;         [stu retain];//add 1         //这儿retainCount返回的是Unsigned long 无符号长整形 %z代表无符号         NSLog(@"retaincount is %zi",[stu retainCount]);         NSLog(@"Student age is %i",[stu age]);         [stu release];  //计数器为0就调用dealloc方法     }     return 0; } 

结果:

2013-08-02 14:57:25.342 内存管理1retainrelease[788:303] retaincount is 2

2013-08-02 14:57:25.344 内存管理1retainrelease[788:303] retaincount is 1

2013-08-02 14:57:25.344 内存管理1retainrelease[788:303] retaincount is 2

2013-08-02 14:57:25.344 内存管理1retainrelease[788:303] Student age is 10

2013-08-02 14:57:25.345 内存管理1retainrelease[788:303] <Student: 0x100109a90>被销毁了

2013-08-02 14:57:25.345 内存管理1retainrelease[788:303] _age 10























本文转自蓬莱仙羽51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1366576,如需转载请自行联系原作者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/256610.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

目标检测的图像特征提取之(一)Hog特征提取

Hog特征实质是&#xff1a;梯度的统计信息,即针对边缘作特征提取 意义&#xff1a;目标的表象和形状 转载于zouxy09大神的文章&#xff0c;加上自己些微的理解和应用&#xff01; http://blog.csdn.net/zouxy09/article/details/7929348/ 上述基本讲清楚了&#xff0c;其实…

redis类型[string 、list 、 set 、sorted set 、hash]

1. Keys redis本质上一个key-value db&#xff0c;所以我们首先来看看他的key. 首先key也是字符串类型&#xff0c;但是key中不能包括边界字符&#xff1b;由于key不是binary safe的字符串&#xff0c;所以像"my key"和"mykey\n"这样包含空格和换行的key是…

matlab simulink笔记02——延迟模块delay与单位延迟模块unit delay

延迟模块 单位延迟模块 延迟模块具有复位功能,当满足复位条件时会进行复位操作,即输出的值会恢复到初始值,而单位延迟模块没有复位功能; 延迟模块的步长是可以设置的,而单位延迟模块的步长固定为1,不可以改变

局域网传输速度升级

现在很多单位都建成了企业内部局域网&#xff0c;一般的企业网络大多是使用双 绞线连接网卡的方式来进行通信的。其中双绞线通常采用的都是5类线&#xff0c;传输速率为100MB。而网卡则有一定的区别&#xff0c;很多网卡都是采取 10Mbps/100Mbmps自适应的网卡&#xff0c;即传输…

数据结构--栈 codevs 1107 等价表达式

codevs 1107 等价表达式 2005年NOIP全国联赛提高组 时间限制: 1 s空间限制: 128000 KB题目等级 : 钻石 Diamond题目描述 Description明明进了中学之后&#xff0c;学到了代数表达式。有一天&#xff0c;他碰到一个很麻烦的选择题。这个题目的题干中首先给出了一个代数表达式&am…

目标检测的图像特征提取之(二)LBP特征

LBP特征实质是&#xff1a;图像局部特征的提取 意义&#xff1a;纹理的提取 http://blog.csdn.net/zouxy09/article/details/7929531 1&#xff09;首先将检测窗口划分为1616的小区域&#xff08;cell&#xff09;&#xff1b; &#xff08;2&#xff09;对于每个cell中的一个…

VS2010安装帮助文档出现错误

安装VS2010后的帮助文档安装出现错误:未能在指定文件夹中创建本地存储区 安装完VS2010后&#xff0c;出现错误&#xff0c;取消后 再安装MSDN 打开“Help Library 管理器 - Microsoft Help 查看器 1.0” 提示“请为本地内容选择位置” 默认的位置是在“C:\Documents and Settin…

matlab smulink笔记03——过零检测

★过零检测 变步长解算方法动态地评估计算下一个采样时刻所使用的步长&#xff0c;当前后两个采 样点的状态值变化大时&#xff0c;则缩小采样步长&#xff0c;当前后两个采样点的值变化小时则增大步 这种做法使得解算器在计算不连续临近区域时使用较小的步长&#xff0c;因为不…

电脑下乡的遐想

最近讨论家电下乡的话题很热&#xff0c;其中我个人最关心“电脑下乡”。原因是&#xff0c;我是农村人&#xff0c;正好在电脑相关行业里混。 应当说&#xff0c;让电脑下乡是我多年的梦想&#xff0c;我多么盼望乡下的乡亲们能够上网看新闻、学习、看电视……但是&#xff0c…

angularjs学习曲线

angularjs学习曲线 刚开始学Augular觉得开发应用需要有相当的编程基础. 不得不说这确实是一款了不起的开发框架&#xff0c;它要求开发人员设计低耦合和可维护的应用. 使用AngularJS 的复杂度就像使用PHP&#xff0c;Ruby on Rails等等, 都需要处理依赖注入&#xff0c;路由&am…

HttpWebRequest post上传文件

public static string HttpUploadFile(string url, string path){// 设置参数 HttpWebRequest request WebRequest.Create(url) as HttpWebRequest;CookieContainer cookieContainer new CookieContainer();request.CookieContainer cookieContainer;request.AllowAutoRedir…

文章标题

**1>MSVCRTD.lib(exe_main.obj) : error LNK2019: 无法解析的外部符号 main&#xff0c;该符号在函数 “int __cdecl invoke_main(void)” (?invoke_mainYAHXZ) 中被引用 1>D:\vs2015-code\Imae_Client\x64\Debug\Imae_Client.exe : fatal error LNK1120: 1 个无法解析…

matlab simulink笔记04——switch模块

Switch 模块 Switch模块是-.个选择开关模块,可根据判断条件选择多个输入端口中的某个进行输出。图所示为CommonlyUsedBlocks中具有3个输入端口.1个输出端口的Switch模块图标。模块的3个端口中,第1个和第3个端口为输出端口提供输出值,输出端口输出第1个输人口还是第3个输人口的值…

[Ajax]ajax学习与理解

1.新建demo.aspx页面。2.首先在该页面的后台文件demos.aspx.cs中添加引用。 using System.Web.Services;3.无参数的方法调用. 大家注意了&#xff0c;这个版本不能低于.net framework 2.0。2.0已下不支持的。后台代码&#xff1a; [WebMethod] public static string SayHel…

优化Web网站性能

一、前端优化网站性能优化是一个很综合的话题&#xff0c;涉及到服务器的配置和网站前后端程序等各个方面&#xff0c;我只是从实际经历出发&#xff0c;分享一下自己所尝试过的网站性能优化方法。之所以在标题上挂一个web2.0&#xff0c;是因为本文更偏重于中小网站的性能优化…

Gym - 100851F Froggy Ford kruskal

题目链接&#xff1a; http://acm.hust.edu.cn/vjudge/problem/307216Froggy FordTime Limit: 3000MS题意 青蛙过河&#xff0c;河中有若干个石头&#xff0c;现在你可以加一个石头&#xff0c;使得青蛙从左岸跳到右岸的最大跳跃距离最小。 题解 把左岸和右岸作为两个虚节点&am…

Tesseract入门-VS2015下调用Tesseract4.0 +win7 64位系统

本文是基于最近的OCR识别项目学习ocr开源库-tesseract的简单调用&#xff0c;不涉及其余视觉知识。 参考文献&#xff1a;http://blog.csdn.net/u012566751/article/details/54136836 参考库&#xff1a;http://download.csdn.net/download/u010554381/10044876 1.预备工作 …

authconfig命令解析_学习笔记

时间&#xff1a;2017.11.16作者&#xff1a;李强参考&#xff1a;man,info&#xff0c;magedu讲义声明&#xff1a;以下英文纯属个人翻译&#xff0c;英文B级&#xff0c;欢迎纠正&#xff0c;盗版不纠,才能有限&#xff0c;希望不误人子弟为好。1、使用目的与场景先列在这里&…

matlab simulinK笔记06——代数环

★代数环 代数环,就是由于模型的输出反馈到模块或子系统的某个输入端&#xff0c;如果这个输入 是直接馈入的&#xff0c;那么二者在同一个采样点内需得到求解&#xff0c;但又互相依赖,哪一方都不 能完成求解过程&#xff0c;使得解算器无法解算导致错误产生&#xff0c;这样的…

PHP多种序列化/反序列化的方法 (转载)

1. serialize和unserialize函数 这两个是序列化和反序列化PHP中数据的常用函数。 <?php$a array(a > Apple ,b > banana , c > Coconut);//序列化数组 $s serialize($a); echo $s; //输出结果&#xff1a;a:3:{s:1:"a";s:5:"Apple";s:1:&qu…