当我创建一个对象并检查其保留计数时,我得到1如预期的那样。当我释放对象然后再次检查保留计数时,它仍然是1.不应该释放对象,并且保留计数为0?引用计数在[obj发布]后仍然是1,当它应该被释放时
NSMutableString *str=[[NSMutableString alloc] initWithString:@"hello"];
NSLog(@"reference count is %i",[str retainCount]);
[str release];
NSLog(@"reference count is %i",[str retainCount]);
我做看到0的保留计数如果我设置str
到nil
第一。这是为什么?
它很有说服力......谢谢......当我用NSZombieEnabled启用的编程工具运行时,程序崩溃了...... – devaditya 2011-03-05 16:36:03
说得简洁;发送一个解除分配的对象会产生未定义的行为。故事结局。 – bbum 2011-03-05 18:54:02