<分区>
<分区>
Possible Duplicates:
NSString retainCount is 2147483647
Objective C NSString* property retain count oddity
看看下面的代码:
NSString* testString = [[NSString alloc] initWithString:@"Test"];
NSLog(@"[testString retainCount] = %d", [testString retainCount] );
NSMutableArray* ma = [[NSMutableArray alloc] init];
[ma insertObject:testString atIndex:0];
[testString release];
NSLog(@"%@", [ma objectAtIndex:0]);
这是控制台上的输出:
[testString retainCount] = 2147483647
Test
怎么会发生这种事?我期望的是 1 而不是 2147483647!
最佳答案
您使用字符串文字启动 NSString 对象,并发生以下 2 件事:
如上所述,您仍然应该遵循内存管理规则来使用字符串对象(因为您使用 alloc/init 创建了它,所以应该释放它),这样就可以了
关于ios:保留2147483647的计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6974943/