您的位置:首页 > 移动开发 > IOS开发

浅谈 ios 内存管理

2015-09-25 09:51 302 查看
对应ios平台的初学者,肯定会应为内存的管理而感到非常头疼,(小弟初写博客文采略差)下面我们就来了解在ios平台下oc 语言开发的
在内存的几个关键词,retain,release,assign,copy,strong

retain 维持内存,顾名思义,就是对当前对象的引用加一

release 刚好喝return相反 就是将当前对象的引用减一,(retain,release成对出现)alloc
出来的对象也需要release

assign assign用于一些基本数据类型(int,fload,double) 
还有delegate必须要用assign 不要问为什么 以后你就知道了

copy 如果是申明NSString对象的时候 使用copy

strong 我就不解释了 在ios5 之后出来的 自动管理内存,到目前为止我也没有用过

说了这么多 不懂的肯定还是不懂 下面我就用一下简单的代码来说明

UILable *lbl=[[UILable alloc] init];

当前的lbl引用是1

NSMutableArray *muArr=[[NSmutableArray alloc] init];

[muArr addObject:lbl];  //当lbl加入到数组MuArr中
就相当于把lbl的引用加一  == [lbl retain]

当前lbl的引用是2

[lbl release];

当前的lbl引用为1

[muArr remobeAllobjects]; //当前相当于把MuArr
中所有对象移除lbl的对象引用减一  == [lbl release];

当前的lbl引用为0

@property(assign) int count;

@property(nonatomic,copy)  
NSString   
*str;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: