博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OC--内存管理总结
阅读量:6508 次
发布时间:2019-06-24

本文共 841 字,大约阅读时间需要 2 分钟。

一、计数器的基本操作

1> retain : +1
2> release :-1
3> retainCount : 获得计数器

二、set方法的内存管理

1> set方法的实现
- (void)setCar:(Car *)car
{
if ( _car != car )
{
[_car release];
_car = [car retain];
}
}

2> dealloc方法的实现(不要直接调用dealloc)

- (void)dealloc
{
[_car release];
[super dealloc];
}

三、@property参数

1> OC对象类型
@property (nonatomic, retain) 类名 *属性名;
@property (nonatomic, retain) Car *car;
@property (nonatomic, retain) id car;

// 被retain过的属性,必须在dealloc方法中release属性

- (void)dealloc
{
[_car release];
[super dealloc];
}

2> 非OC对象类型(int\float\enum\struct)

@property (nonatomic, assign) 类型名称 属性名;
@property (nonatomic, assign) int age;

四、autorelease

1.系统自带的方法中,如果不包含alloc、new、copy,那么这些方法返回的对象都是已经autorelease过的
[NSString stringWithFormat:....];
[NSDate date];

2.开发中经常写一些类方法快速创建一个autorelease的对象

* 创建对象的时候不要直接使用类名,用self

转载于:https://www.cnblogs.com/ZhangYuGe/p/4145854.html

你可能感兴趣的文章
UDP中转服务器
查看>>
多核编程的四层境界
查看>>
Windows Phone 实用开发技巧(11):让StackPanel中的控件靠右对齐
查看>>
小记如何修改xen模块
查看>>
centos访问windowsxp共享资源指南.
查看>>
实时游戏对战引擎Photon
查看>>
C语言位操作控件属性
查看>>
nginx的安装及基本配置,及多个域名服务
查看>>
Servlet访问postgresql数据库并提取数据显示在前端jsp页面
查看>>
不改一行代码定位线上性能问题
查看>>
定义运算符
查看>>
git管理
查看>>
idea演示
查看>>
Android第三十天
查看>>
告别暗黄皮肤变水嫩皮肤的8个小习惯
查看>>
加强Eclipse代码自动提示的方法
查看>>
【HM】第4课:MySQL入门
查看>>
GNS3-地址重叠环境中部署IPsec
查看>>
exchange online 用户疑问之许可证和用户数据归档
查看>>
QImage Mat IplImage 之间的相互转换
查看>>