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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© huguozhang 中级黑马   /  2015-7-15 01:01  /  1453 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  自动释放池:特殊的栈结构
    特点:对象可以加入到自动释放池中
        自动释放池结束的时候,会给池中的对象发送一条 release消息
    自动释放池的使用:
        1)创建自动释放池
            @autoreleasepool{
            }
        2)加入自动释放池   
            在自动释放池中使用:
            [对象 autorelease];
    如:
int main(int argc, const char * argv[]) {
    Person *p = [Person new];  // 1
     @autoreleasepool {
     
        [p run];
        NSLog(@"%lu",p.retainCount);    //1
        [p autorelease];
        NSLog(@"%lu",p.retainCount);    //1
        [p run];
     
     } // 自动释放池结束
     // [p run]; 打开僵尸对象检测 这里就会报错
}

2 个回复

倒序浏览
总结的不错,学习下
回复 使用道具 举报
还没开始听OC呢,不过可以先学习一下啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马