我永遠無法取消分配我的NSMutableString
,如下所示。初始保留計數應該爲1,但釋放幾次後,字符串仍然可用,就像沒有任何事情發生!爲什麼我的對象在無數次發佈後仍然工作?
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
// insert code here...
NSMutableString* s = [[NSString alloc]initWithString:@"AAA"];
[s release];
[s release];
[s release];
[s release];
[s release];
NSLog(@"%@",s);
[pool drain];
return 0;
}
當然,如果我使用分析它仍然告訴我,我鬆開第二release
一個釋放的對象。