뷰를 지연로드해야하고 예를 들어 예 : 메모리 경고가 발생하거나 다른 이유로 청소하고 싶습니다. 게으른로드를 달성하기 위해 기본 getter를 덮어 썼습니다.UIViewController 하위 클래스의 지연로드
이@interface MyController {
MyView *_myView;
}
@property(nonatomic, retain) MyView *myView;
@end
@implementation MyController
@synthesize myView = _myView;
- (MyView *)myView {
if(_myView == nil) {
_myView = [[MyView alloc] init];
// some more initialization
}
return _myView;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// the main part of my interest, freeing myView again
self.myView = nil;
}
@end
이제 내 질문은 기본적으로 : 여기 내 코드는 여전히 내가 - (void)didReceiveMemoryWarning
에서했던 것처럼 myView
을 출시 맞거나 심지어 완전히 다른 무언가를 [_myView release]; _myView = nil;
에 있거나 것인가?
또한이 방법은 일반적으로 지연 초기화를 사용하는 올바른 방법입니까, 아니면 여기에 일반적으로 개선해야합니까? 나는 기본 UIViewController
행동 이미 착각 느리게보기를로드하고 있지 않다 경우