안녕하세요, 나는 다음과 같은 코드가 있습니다
NSNumber *number = [NSNumber numberWithInt:5];
int i = [number retainCount];
[number release];
i = [number retainCount];
[number release];
i = [number retainCount];
문제가를 그 라인 2, 파라미터 i의 값은 2 이고, 라인 4의 값은 1이다. 다음 줄 6에서 값은 여전히 1입니다. ????????
먼저 init * 번호 이후에 retaincount가 2이고 1이 아닌 이유를 이해하지 못합니다. 두 번째 이유는 내가 release 2 개월 후에 retaincount가 0이 아닌 이유를 이해하지 못합니까? 그것은 내가 개체가 retaincount 1.
첫 번째 도움에 감사드립니다. 나는 왜 내가 그 객체를 소유하고 있지 않은지 이해하지 못한다. (나는 그것을 만든다!) 내가 만들지도 못한 객체가 있는가? 기능의 끝에서 죽은 것과 같은 대상? 내가 만드는 객체가 autorelease가있는 init인지 여부를 어떻게 알 수 있습니까? 감사합니다. – amir
http://developer.apple.com/mac/library/iPad/index.html#documentation/Cocoa/Conceptual/MemoryMgmt/MemoryMgmt.html – kubi
일반적으로 'alloc', 'copy'또는 '새로운'개체를 만들려면 소유하고 있지 않습니다. – kubi