可能重复:
NSString retain Count
是否有可能任何对象的保留计数为负值?
我有这段代码
NSString *str = [[NSString alloc] initWithString:@"Hello World"];
NSLog(@"String Retain Count: %i", [str retainCount]);
这将返回保留计数 -1。
为什么会这样?
我也是这样做的
NSString *str = [[NSString alloc] init]
仍然是保留计数的返回负值。
这是怎么回事?
请帮助理解这件事!!!!!
答案 0 :(得分:6)
retainCount
doesn't return the reference count of an object. - 它会返回无关的废话。
(出于性能原因,不可变常量字符串在复制时返回self
。如果将指针与@""
和[[NSString alloc] initWithString:@""]
进行比较,它们将是相等的。)