A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© dawn.dai 中级黑马   /  2014-5-3 15:31  /  1430 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

autorealeasepool{
~
NSArray *stuArray =[NSArray arrayWithObjects:stu1,stu2,stu3,stu4,stu5, nil];//stu1....对象

~
}
没有开启arc,把数组放到autoreleasepool,并把对象放进去,正常是要搞内存管理释放数组,是不是在池子里就不用管理了 ,我记得视频了说系统的对象好像都是这样,系统自动autorelease不知有没有记错?

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

4 个回复

倒序浏览
该stuArray对象使用加方法创建,不满足黄金法则,不需要release或autorelease。非ARC情况下,加方法创建对象,它内部封装了alloc,调用autorelease方法把自己加入了就近的自动释放池中。
回复 使用道具 举报
siegee 发表于 2014-5-3 21:55
该stuArray对象使用加方法创建,不满足黄金法则,不需要release或autorelease。非ARC情况下,加方法创建对 ...

那你的意思还是有autoreleasepool的他自己释放,没有的话,我就要release是吧。
回复 使用道具 举报
dawn.dai 发表于 2014-5-4 12:55
那你的意思还是有autoreleasepool的他自己释放,没有的话,我就要release是吧。 ...

不是, 简单的说,用加方法创建的不用我们管。
回复 使用道具 举报
本帖最后由 dawn.dai 于 2014-5-4 14:07 编辑
siegee 发表于 2014-5-4 13:22
不是, 简单的说,用加方法创建的不用我们管。

那为什么视频中mj老师要【array release】;而且我都没写自动释放池autorelease有什么用
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马