黑马程序员技术交流社区

标题: 内存管理的原则的理解 [打印本页]

作者: zhudong100    时间: 2015-11-20 21:18
标题: 内存管理的原则的理解
  1. #import <Foundation/Foundation.h>
  2. #import "Person.h"
  3. //验证内存管理的原则:谁retain,谁release
  4. int main(int argc, const char * argv[]) {
  5.     @autoreleasepool {
  6.         Person *p = [Person new];
  7.         NSLog(@"retainCount = %ld",[p retainCount]);
  8.         Person *p1 = [p retain];
  9.         NSLog(@"retainCount = %ld",[p retainCount]);
  10.         [p1 release];
  11.         NSLog(@"retainCount = %ld",[p retainCount]);
  12.         [p release];
  13.     }
  14.     return 0;
  15. }
复制代码

按照内存管理的原则中有:谁retain,谁release,可上面的代码中,用p release仍然可以,请问该如何理解?
作者: 仰望星空的猪    时间: 2015-11-22 11:10
他们都是拥有同一个对象     遵守这个原则可以不用关心到底+1了多少次,最后 -1多少次。   p计数只要+1  就-1一次 ,成对出现就行了。   




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2