저는 iPhone의 메모리 관리를 처음 사용하고 표준/정확성에 대해 질문했습니다.iphone @property (보유), init() 및 표준
내 헤더 파일 선언
self.tabBarController = [[UITabBarController alloc] init];
[tabBarController release];
NSLog(@"Retain count of tbc: %d",[tabBarController retainCount]);
하나에 다시 유지 수를 얻을 :
내 초기화() 코드에서IBOutlet UITabBarController *tabBarController;
@property (nonatomic, retain) UITabBarController *tabBarController;
나는 다음과 같은 일을하고 있었다. 이것이 표준화의 관점에서 올바른가? 그것은 조금 다른 모습으로 보였습니다. 그러나 저는 이것에 처음 접했습니다.
감사
init 메소드의 첫 번째 라인에서 인스턴스 변수를 해제하는 것은 미친 이야기입니다. – hooleyhoop
나는 책에서 배우고 책은 @property()를 푸시합니다. 이 표기법을 실제로 사용해야합니까? 또는 alloc init을 직접 처리할까요? – inyourcorner
@property()는 접근 자 메서드의 구문 설탕입니다. 그래서 질문은 Setter 접근 자 메소드 (속성을 사용하는 것이 당신을 위해 무엇을 할 것인가)를 사용하는 것인가 (alloc/init을 처리해야하는지)하는 것인가? 일반적으로 setter 메소드를 사용하여 속성의 관찰자에게 업데이트 알림을 제공 할 수 있지만 init 메서드에서는 관련이 없습니다. 또한 setter 메서드가 하위 클래스에서 재정의 된 경우 하위 클래스가 초기화되기 전에 setter 메서드가 호출되므로 해당 메서드가 잘못됩니다. – hooleyhoop