와 나는이 같은 수레와 배열을로드 오전 : 목표 C 메모리 관리 문제는 NSArray를
NSArray *arr= [NSArray arrayWithObjects:
[NSNumber numberWithFloat:1.9],
[NSNumber numberWithFloat:1.7],
[NSNumber numberWithFloat:1.6],
[NSNumber numberWithFloat:1.9],nil];
지금 나는 그러나 나는 소매 카운트에 의해 혼란 스러워요,이 그것을하는 올바른 방법 알고있다.
각 개체는
[NSNumber numberWithFloat:]
메서드로 생성됩니다. 이 개체를 1 dosnt 그것을 보유 개수를 제공합니까? - 그렇지 않으면 객체가 재생 됨arrayWithObjects:
메서드는 각 객체에 retain 메시지를 보냅니다.
이 배열은 각 개체 내가 놓친 무엇 1.
의 유지 카운트를 떠나 해제 할당 해제하면 각 객체 2의 유지 계속을 가지고 의미?
감사합니다. 블로그를 잘못 읽었습니다. NSNumber numberWithFloat :'메소드가 어떻게 유지 된 객체를 반환하지 않을 수 있습니까? 어떻게 이런 종류의 클래스 메소드를 구현할 수 있습니까? – Robert
@Robert - NSNumber는 단순히 객체를 반환하지만 자신을 만들지 않았으므로 소유하지 않습니다. (당신이 원한다면 물론 그것을 유지할 수 있습니다.) –
@ 로버트 : 당신은 매우 간단하게 구현할 수 있습니다 : + (id) numberWithFloat : (float) aFloat {return [[self alloc] initWithFloat : aFloat] autorelease]; } –