AppDelegate
生命周期
注意:退出到后臺(tái)再殺死程序溃斋,不調(diào)用 terminate
控制器
- 控制器的 view 是懶加載
loadView -> viewDidload - 加載自定義控制器的三種方式
都需要先刪掉系統(tǒng)默認(rèn)的 main 入口;
都需要先創(chuàng)建一個(gè) window
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
- 通過代碼創(chuàng)建
CViewController *cvc = [[CViewController alloc] init]; self.window.rootViewController = cvc; [self.window makeKeyAndVisible];
- 通過 storyboard 創(chuàng)建
UIStoryboard *cc = [UIStoryboard storyboardWithName:@"ccc" bundle:nil]; // UIViewController *vc = [cc instantiateInitialViewController]; UIViewController *vc = [cc instantiateViewControllerWithIdentifier:@"aaa"]; self.window.rootViewController = vc; [self.window makeKeyAndVisible];
- 通過 xib 創(chuàng)建
fileOwner 修改為對(duì)應(yīng)的控制器
將 fileOwner 里面的 view 連線到 xib 里面的 view- xib 的名字很隨意
- xib 的名字和 controller 的名字相近(aaa.xib aaaController.m)
- xib 的名字和controller 的名字一樣
- 通過代碼創(chuàng)建
UINavigationController
- 基本使用:AppDelegate 中設(shè)置給 self.window.rootViewController
- 入棧界拦、出棧 概念
- 控制器的生命周期
- 設(shè)置導(dǎo)航欄的內(nèi)容 : self.navigationItem
默認(rèn)是有 iOS 右滑返回的,但是如果左側(cè)設(shè)置了按鈕是沒有這個(gè)功能的 - 使用導(dǎo)航控制器傳值
- 代碼傳值
- storyboard 使用 segue 傳值
數(shù)據(jù)存儲(chǔ)
- 獲取Documents梗劫、preference享甸、cache截碴、temp 目錄的方法:NSSearchPathForDirectoriesInDomains/NSTemporaryDirectory
- 3中存儲(chǔ)方式
- plist 存儲(chǔ):NSArray NSDict NSString
- preference 存儲(chǔ)
- 歸檔、反歸檔