版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
iOS内存管理机制retain、release、autorelease、引用计数一个简单对象的分析@interface
Counter
:
NSObject
@property
(nonatomic,
retain)
NSNumber
*count;
@end;
-
(void)setCount:(NSNumber
*)newCount
{
[newCount
retain];//
retain
new
object
first;
[_count
release];
//
Make
the
new
assignment.
_count
=
newCount;
}对吗?为什么-
(void)reset
{
NSNumber
*zero
=
[[NSNumber
alloc]
initWithInteger:0];
[_count
release];
_count
=
zero;
}
-
(void)reset
{
NSNumber
*zero
=
[NSNumber
numberWithInteger:0];
[self
setCount:zero];
}
Copy,几个意思?-
initWithCount:(NSNumber
*)startingCount
{
self
=
[super
init];
if
(self)
{
_count
=
[startingCount
copy];
}
return
self;
}Copy是这样的据说copy
一个对象变成新的对象(新内存地址)引用计数为1原来对象计数不变alloc
对象分配后引用计数为1retain
对象的引用计数+1asssign
相于于指针赋值,不对引用计数进行操作,注意原对象不用了,一定要把这个设置为nilweakstrong是什么?release和autoreleaserelease对象引用计数-1如果为0释放内存autorelease对象引用计数-1如果为0不马上释放,最近一个个pool时释放如果引用计数等于0还对该对象进行操作,那么会出现内存访问失败,造成crash,所以释放后的对象尽量设置为nilPool是个啥东西?intmain(intargc,constchar*argv[]){
NSAutoreleasePool*pool=[[NSAutoreleasePoolalloc]init];
inti;
for (i=0;i<10000;i++){ Sample*s=[Samplenew]; s.flag=i; NSLog(@"%@",[stoString]); [sautorelease]; if(i%100==0) { [poolrelease]; pool=[[NSAut
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房产交易中介合作协议
- 工程劳务涂装分包协议
- 党建项目培训合同
- 城市垃圾分类处理合同
- 消防设备维修改造工程招标合同
- 范文个人保证书写作指导
- 教育机构电脑采购协议
- 组合贷款借款合同的履行解决
- 官方版简易房屋买卖合同
- 膨润土采购合同格式
- 医疗机构高警示药品风险管理规范(2023版)
- Wow English S4-S6单词可直接打印
- 国家开放大学《财政与金融(农)》形考任务1-4参考答案
- 大象版科学三年级下《控制电路》
- 环保设备运行管理台账
- 城镇土地估价规程
- 安全培训教育效果评价表
- Photoshop(PS)教学课件:第6章调色
- 幂函数评课稿
- 能你也能:IPD产品管理实践
- 幼儿园小班音乐教案《妈妈来抓兔兔》含反思
评论
0/150
提交评论