黑马程序员技术交流社区
标题: 手动内存管理 [打印本页]
作者: SUPERREN_Hao 时间: 2016-1-14 15:43
标题: 手动内存管理
手动:
通过程序员自己书写对象相关的语句(retain/release)来控制对象的引用计数
以达到灵活的内存释放。
手动内存管理的主意:
1,Xcode项目默认的都是自动内存管理的(ARC),需要关闭自动内存管理。
2,Person *p = [Person new];//对象p的引用引用计数器值为1
任何自己创建的对象,都归自己多有。
*/
#import <Foundation/Foundation.h>
#import "Person.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
//创建实例对象
Person *p = [Person new]; //任何自己创建的对象,都归自己所有
//对于p对象空间来说,有一个所有者
NSUInteger rc = [p retainCount];//获得对象的 引用计数
NSLog(@"rc = %lu",rc);
//通过自己手动的添加 retain 或者 release来管理。
//如果向释p的空间,必须保证p对象的引用计数为0
//想要达到0的话,需要让对象的饿引用计数-1
//[对象 release];
[p release]; //1--->0
//如果对象的引用计数为0,此时会调用对象的dealloc(临终遗言)的方法
}
return 0;
}
作者: 有款不辩 时间: 2016-1-16 08:51
顶顶顶顶
作者: 石门一梦 时间: 2016-1-16 12:10
加油吧!
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |