지금 나는 ClassA : NSObject
이, 다음의 ViewController viewDidLoad
에서 아래 코드를 살펴 : 이해가 안아이폰 OS 약 retainCount
2012-11-02 14:43:35.437 RetainCountTest[1043:207] a retainCount = 1
2012-11-02 14:43:35.439 RetainCountTest[1043:207] a retainCount = 1 b retainCount= 1
2012-11-02 14:43:35.439 RetainCountTest[1043:207] a retainCount = 1 b retainCount= 1
: 같은
- (void)viewDidLoad {
ClassA *a = [[ClassA alloc] init];
NSLog(@"a retainCount = %d", [a retainCount]);
ClassA *b = a;
NSLog(@"a retainCount = %d b retainCount= %d ", [a retainCount],[b retainCount]);
[a release];
NSLog(@"a retainCount = %d b retainCount= %d", [a retainCount],[b retainCount]);
[super viewDidLoad];
}
콘솔 출력이 보인다 그게 내가 [a release]
라고 부를 때, 왜 [a retainCount]== 1
?
고마워요! @ mttrb, 이것은 매우 유용합니다. – Maggie
면접 원이 retainCount에 대해 물었습니까? – bbum
@bbum 어쩌면 트릭 질문이었을 것입니다. "retainCount, 특히 죽은 객체에 보내지 말아야합니다"라는 말이 정답이었습니다. –