iOS UIViewController 수명 주기
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
MainViewController *viewController = [[MainViewController alloc] init];
self.window.rootViewController = viewController;
[viewController release];
return YES;
}
MainViewController는 부모 클래스가 UIViewController인 뷰 컨트롤러입니다.
1. [[MainViewController alloc] init]; 메모리 조각을 생성한 다음 init로 초기화합니다.
초기화는 MainViewController 클래스를 호출하는 것입니다.
- (id)init
{
self = [super init];
if (self){
}
return self;
}
자신에게 실행= [슈퍼
초기화
]; 메소드를 입력하면 이 기능이 실행됩니다.
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
이 메서드가 실행된 후 -(id)init 메서드로 돌아가서 if(self) 문을 계속 실행한 다음 초기화를 완료합니다.2.self.window.rootViewController = viewController, 보기 컨트롤러를 창의 rootViewController에 할당합니다.
= 맞아, 전화할게
- (void)loadView
{
UIView *view = [[[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]] autorelease];
view.backgroundColor = [UIColor blueColor];
self.view = view;
}
viewController의 뷰가 nil이기 때문에 이 메소드를 호출하고 내부의 내용을 직접 추가합니다.[
감독자
로드뷰
] 또는 단순히 이 메서드를 재정의하지 마십시오.
그런 다음 자동으로 생성된 컴파일러를 호출합니다.
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
}
그럼 있다- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
}
그리고 -(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
}
3.[viewController 릴리스], 참조 횟수 -1,
뷰 컨트롤러가 로드됩니다.
간단히
1. alloc 객체 생성, 공간 할당 2, 객체 초기화(initWithNibName) 초기화, 데이터 초기화 3, loadView 펜촉에서 뷰 로드, 일반적으로 이 단계는 간섭할 필요가 없습니다. xib 파일을 사용하여 view4를 생성하지 않는 한 viewDidLoad가 로드되며 데이터를 사용자 정의하고 다른 컨트롤을 동적으로 생성할 수 있습니다. 화면에 렌더링됨
참조 횟수가 0일 때 코드 순서는 다음과 같습니다.
1. viewWillDisappear 보기가 화면에서 제거되기 전에 실행됩니다. 2. viewDidDisappear 보기가 화면에서 제거되었으며 사용자는 보기를 볼 수 없습니다. 3. dealloc 보기가 파괴됩니다. 여기서 init 및 릴리스할 viewDidLoad 객체
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.