UI 多控制器

info plist

-products  產品目錄
-supporting Files  資源文件放置
- info.plist 項目的配置文件
  • Localization native development region本地化程序員

  • Executable File 可執行文件路徑 ***千萬不要改web

  • Bundle identifier 應用惟一標識數組

  • infoDictionary version plist文件的版本號網絡

  • bundle name 安裝的時候建立的文件夾名稱app

  • bundle display 安裝到桌面的APP名字框架

  • bundle OS Type code 不要改ide

  • bundle versions string,short itunes上的版本號工具

  • bundle version 上傳到 APP store 須要用的版本號 比以前的版本號要高學習

  • launch screen interface file base name 啓動界面的配置測試

  • main storyboard file base name 主storyboard

  • required device capabilities CPU框架

    TARGTS 和 info plist 對應

    學習新東西要弄清這個東西是用來幹什麼的

Pch文件的做用

-讓項目中全部的文件都會導入裏面的內容
-能夠導入公共的頭文件,網絡工具類
-能夠定義宏,訪問路徑
-絕對路徑
    -$(SRCROOT)/工程名/文件名.pch
從新定義NSlog有什麼做用:
#ifdef           DEBUG開發環境
    #define HMLog(...) NSLog(__VA__ARGS)
#else
    #Release     打包上線環境

注意 區分 OC 仍是 C

#ifdef __OBJC__

#endif

UIapplication

- 表明整個應用程序,是一個單例的類
  • 在整個程序啓動的時候,會建立一個 UIapplication對象,讓他來管理 APP

  • 應用圖標右上角的數字 **** 注意只能經過註冊

程序生命週期

-程序啓動時      
-程序進入後臺
-程序後臺到前臺
-程序銷燬
-內存警告

程序的啓動過程

 -    main.m    C 語言程序的入口
 -    進入iPhone程序入口  UIapplicationMain
  • argc : argv數組的長度

  • argv : 數組的指針

  • principalClassName:UIApplication類

  • delegateClassName:就是 APPdelegate 類

  • 若是第三個參數爲 nil, 先會去 info.plist去找NSPrincipaClass.尚未就用UIapplication

    • 爲何要有 APPdelegate ,讓程序員在各個階段作一些操做

UIwindow

  • 去掉main,就沒有window了,必須手動代碼建立

  • UIwindow是咱們程序建立的第一個 view

  • 有了 UIwindow咱們程序才能顯示界面

  • 必須指定一個根控制器,也能夠本身定義控制器

  • 在應用程序中有不少個window,鍵盤也是一個window,可是隻有一個主window

  • 用 alloc 方式建立先找同名的 XIB 而後再找同名的去掉 controller 的 XIB

懶加載loadview

  • 控制器的根view是懶加載建立

  • loadview 的做用就是用懶加載的方式建立控制器的根view 顯示的時候會調用loadview 方法

  • 經過 sb,xib 都會走 loadview 方法,而且界面上展現就是 xib/sb 上的內容

  • 代碼 init 建立控制器,先找同名的 xib,再去找 controller 的 xib,若是沒有建立一個空的控制器內部重寫 loadview

  • super loadview 就是建立根view的,若是 super loadview 不寫了,那麼就本身建立一個 view, 給 self.view

  • 若是是從 xib/sb加載出來的, view 就是從 xib/sb加載出來的,若是代碼建立,它就是一個空的

管理控制器的控制器

控制器的生命後期

-viewdidload        視圖加載完成
-viewWillAppear     視圖將要顯示到界面
-viewDidAppear      視圖已經顯示到界面
-viewWillDisappear  視圖將要消失
-viewDidDisappare   視圖已經消失-用來銷燬根 view
  • viewWillUnload 用來銷燬subview 銷燬子view

  • viewDidUnload

  • 在使用導航控制器的時候,在開發的時候必定要測試返回(上一個)控制器是否已經銷燬

相關文章
相關標籤/搜索