oc79--数组的内存管理
2024-08-30 22:40:56
//
// main.m
// 集合(数组)对象的内存管理(MRC中)
// #import <Foundation/Foundation.h>
#import "Person.h" int main(int argc, const char * argv[]) { @autoreleasepool { // 1. 如果将一个对象添加到一个数组中, 那么数组会对对象进行一个retain
Person *p = [Person new];
NSLog(@"reatinCount = %lu", [p retainCount]);
NSMutableArray *arrM = [[NSMutableArray alloc] init]; [arrM addObject:p];
NSLog(@"reatinCount = %lu", [p retainCount]); [p release];
NSLog(@"reatinCount = %lu", [p retainCount]);
// 当数组对象释放之后, 会给数组中所有的对象发送一条release消息
[arrM release]; Person *p = [Person new]; //
NSLog(@"reatinCount = %lu", [p retainCount]);
NSMutableArray *arrM = [[NSMutableArray alloc] init];
[arrM addObject:p]; //
NSLog(@"reatinCount = %lu", [p retainCount]); [p release]; // 1
// 当数组移除一个对象之后, 会给这个对象发送一条release消息
[arrM removeObject:p];
}
return ;
}
最新文章
- 一天一经典Reducing the Dimensionality of Data with Neural Networks [Science2006]
- 用CSS3实现背景的固定
- 在Salesforce中编写Unit Test
- IRaster、IRasterlayer、IRasterdataset之间的转换
- C# 类构造函数赋值里属性与字段赋值注意项
- solr6安装部署
- android访问webservices
- 使用SAE部署Flask,使用非SAE flask版本和第三方依赖包的方法
- Apache启动是出现the requested operation has failed
- hdu 4790 Just Random (2013成都J题) 数学思路题 容斥
- 性能测试工具比较:LoadRunner vs JMeter - 测试结果数据比较
- 计算机学院大学生程序设计竞赛(2015’12) 1004 Happy Value
- empty 语句
- java基础学习之";堆"; ";栈"; ";静态存储区"; ";方法区";
- mysql启动报错 mysql InnoDB: Error: could not open single-table tablespace file
- Activity的生命周期函数
- WebStorm连接Github教程
- Oracle体系结构之控制文件的多路复用技术
- Ubuntu dns
- selenium.common.exceptions.ElementNotVisibleException: Message: element not visible处理方法:selenium针对下拉菜单事件的处理
热门文章
- HTML 5 <;aside>; 标签
- DiscuzX2.5数据库字典 值得学习
- Python orm基础
- 在PL/SQL DEV里面有把锁一样的按钮,点击它会跳出“these query result are not updateable,include the ROWID to get updateab
- 「 COGS 1669 」 神秘的咒语
- Luogu P4014 「 网络流 24 题 」分配问题
- CCF201604-1 折点计数 java(100分)
- (一)python条件语句和基本数据类型
- dp专题备忘录
- 如何使用loadrunner进行web网站性能测试