-1
看一看这个代码片段用一个简单的保留/释放的情景:意外retainCount
#import <Foundation/Foundation.h>
@interface SomeClass : NSObject
@end
@implementation SomeClass
@end
int main(int argc, const char * argv[])
{
SomeClass *aClass = [[SomeClass alloc] init];
NSLog(@"retainCount: %lu", [aClass retainCount]);
[aClass retain];
NSLog(@"retainCount: %lu", [aClass retainCount]);
[aClass release];
NSLog(@"retainCount: %lu", [aClass retainCount]);
[aClass release];
NSLog(@"retainCount: %lu", [aClass retainCount]);
return 0;
}
这是输出结果:
2013-04-29 17:33:50.695 retainCount: 1
2013-04-29 17:33:50.697 retainCount: 2
2013-04-29 17:33:50.697 retainCount: 1
2013-04-29 17:33:50.698 retainCount: 1
最后retainCount要么是“0”或该应用程序应该崩溃。为什么结果是“1”?
http://stackoverflow.com/questions/4636146/when-to-use-retaincount?rq=1 – peko 2013-04-29 15:50:35
**绝对不要使用'retainCount' ** – 2013-04-29 15:54:39
'retainCount'意味着什么。 – xhan 2013-04-29 15:59:15