iOS集合对象的内存管理
来源:互联网 发布:手机和信息安全 知乎 编辑:程序博客网 时间:2024/05/16 19:09
1. 概念综述
Person *p, NSMutableArray *arr
数组中存放一个对象,实际上存的是对这个对象的引用,使该对象的retainCount+1,数组中加入两次该对象,则该对象的引用计数加2,当从数组中移除一次,则释放一个引用,当执行[arr release]时,会向数组中的每个对象发送一次release消息。总结一下,数组中存放对象存的是对该对象的引用。
2. 示例代码
#import <Foundation/Foundation.h>#import "Person.h"int main(int argc, const char * argv[]) { @autoreleasepool { Person *p = [Person new]; NSLog(@"%lu",p.retainCount); NSMutableArray *arr = [NSMutableArray array]; [arr addObject:p]; NSLog(@"%lu",p.retainCount);// [arr removeLastObject]; [arr release];// Person *p2 = [p retain]; NSLog(@"%lu",p.retainCount);// [p2 release]; [p release]; } return 0;}
0 0
- iOS集合对象的内存管理
- iOS 内存管理~非集合对象的copy和mutableCopy
- iOS 内存管理~集合对象的copy和mutableCopy
- Objective-C 集合对象的内存管理
- 集合对象的内存管理、copy概念
- 133,集合中对象的内存管理
- ios内存管理2-对象之间的内存管理
- ios内存管理2-对象之间的内存管理
- 《ios—单个对象的内存管理》
- iOS 内存管理~自定义对象的拷贝
- 集合的内存管理
- 集合的内存管理
- Foundation框架-08 集合对象的内存管理
- ios内存管理对象图
- Objective-C 【集合对象内存管理】
- 对象的内存管理
- IOS中Cocoa对象的内存管理初探(简介)
- iOS-Block和对象的内存管理(三)
- 将中缀表达式转化为逆波兰式(c++实现)
- 在JSP中使用关键字作为变量
- hdu 3037 Saving Beans(lucas定理模板)
- log4j.properties常用的三种配置方法
- 如何自定义实现数值的四舍五入?
- iOS集合对象的内存管理
- 在Android Studio中打开File Explorer
- artTemplate新手入门(一)
- 自定义NSOperation 下载图片
- WIN7下wamp配置虚拟主机
- java中重载与重写的区别
- python守护进程编写
- 《程序员面试金典》基本字符串压缩
- 使用phpmyadmin导入大数据的方法