下面的引用计数输出的是一串很大的数字,如果用有符号格式输出,则结果是-1.
NSString *str = @"FENG";    
NSString *str1 = [[NSString alloc] initWithFormat:@"fengxiao"];    
NSLog(@"str1rc:%lu",str1.retainCount);   
 NSLog(@"strrc:%lu",str.retainCount);      如果是自定义的类型对象,那么引用计数输出是正常的1;ASStudent * stu = [[ASStudent alloc] initsetName:@"FENG" initsetAge:19];    
NSLog(@"%@:%d",stu.name,stu->age);    
stu.name = @"xiao";   
 NSLog(@"%lu",stu.retainCount);    
请问:这个引用计数会针对系统类型有特殊的值么?

解决方案 »

  1.   

    retainCount只能当作学习时的一个参考,实际运行时不知系统还会对对象执行什么操作,所以想通过retainCount 来跟踪一个对象可能不太准确......
      

  2.   

    可以说目前的ios系统框架下,引用计数基本上与你设想的数值都不太一样。因为您并不知道系统对于一个创建出来的对象都做了什么。根据引用计数判断是很不准确的。