1
아시다시피, 우리는 Object C에서 정적 변수 매개 변수를 정의합니다.Object C 정적 변수 메모리 질문
메모리 관리 뷰에서이 정적 Object 변수를 매핑하는 방법을 정의합니다.
@interface classA:NSObject
+ (id) getInstance;
@end
static ClassA staticObject = nil;
@implementation ClassA
+ (id){
if(staticObject)
staticObject = [doinitStuff];
return staticObject
}
@end
예를
에 대한이제 질문은 : 출시 될 때, 을 staticObject 메모리를 보유 할 책임이있는 사람. 내가 생각하고 무엇을
:
이런타임 OS는 응용 프로그램을 모니터링하며, 응용 프로그램이 정말 종료,이 메모리가 해제 될 경우에만 사용할 수 있습니다. RUNtime보기에서, 그것은 유지되고 count = 1; // 단지 1
어떤 생각이라도 대단히 감사 할 것입니다. 감사합니다. .
감사합니다. bbum, 나는 여전히 혼란 스럽습니다. 왜냐하면 일반적으로 init을 할 때 항상 alloc을하고 나서 리턴합니다. 예 : staticObject = [ClassA alloc] init]; 메모리가 할당 되었습니까? – Jeff
@ 제프, 맞습니다. staticObject는 이제 적어도 1 이상의 보유 수를 갖습니다. 이제는 정확하고 프로그램의 수명 동안 지속됩니다. bbum의 요점은 그것이 살기를 원한다면 할당, 복사 또는 유지를 통해 유지를 확실히하는 것입니다. –
위대한 강사, 여러분 모두. 고마워. – Jeff