-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