自动释放池:特殊的栈结构 特点:对象可以加入到自动释放池中 自动释放池结束的时候,会给池中的对象发送一条 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]; 打开僵尸对象检测 这里就会报错 }
|