iOS 官方文檔筆記:About iOS App Programming(iPhone應用程序編程指南)

前注:本文章未完成,可是考慮到目前的iOS版本比起當時我寫這個筆記的時候已經有很大變化了,因此不少內容可能不一樣。
本文地址:https://segmentfault.com/a/11...segmentfault


核心應用程序

應用程序的生命週期:

用戶程序裏面包含了一個標準的main()函數,這個函數裏面的代碼應該是最小程度地使用,要麼就不改。
main()函數作的事情有兩個:
一、建立自動釋放池(autoreleasepool)
二、調用UIApplicationMain()設計模式

core_objects_2x.png

應用程序的委託(delegate)

每一個應用程序中,必需要有這些delegate方法。參見UIApplicationDelegate文檔。
這個delegate對象負責處理幾個關鍵的系統事件,很大程度上,用戶程序的入口甚至能夠說就是從這些delegate開始的。框架

事件處理週期

好比一個觸摸動做,數據傳遞過程爲:
觸摸數據 ——封裝於——> UIEvent ——包含——> UITouch函數

UIApplication對象用一個處理觸摸事件的輸入原來配置主循環(main runloop)
應用程序 ——派發事件——> UIWindow對象 ——傳送事件——> 第一響應者
第一響應者(first responder)是什麼?通常就是各類UIApplication、UIWindows、UIView或其派生類。oop

基本設計模式

iOS開發使用MVC模式,分別是模型 - 視圖 - 控制器spa

  1. 模型:負責數據的維護
  2. 視圖:GUI
  3. 控制:上述二者的框架

委託設計

目標 - 動做:控件將用戶預先定義好的「動做」發給「控件」處理對象

內存模型:引用計數blog


應用程序運行環境

啓動、關閉方式

在iOS中,每次只能有一個前臺程序在運行。點擊應用程序圖標時,程序啓動,並應該快速初始化。
點擊Home時,iOS通知應用程序推出,此時應該儘快保存須要保存的數據,不然5秒內整個程序可能會被終止(注:如今就不必定了)
設計應用程的時候,要讓用戶看起來以爲好像程序正在後臺運行同樣。生命週期

應用程序的程序包

一個典型的App程序包(好比命名爲SomeApp)的內容爲:

  1. SomeApp:可執行文件(必需)
  2. Settings.bundle:配置文件的偏好設置
  3. Icon.png:57x57的主icon
  4. IconSettings.png:29x29的icon,用在setting程序中顯示
  5. MainWindow.nib:應用程序的主nib文件
  6. Default.png:480x320,在App啓動時做爲臨時界面顯示
  7. iTunesArtwork:512x512的icon,用在使用ad-hoc方式發佈的程序中
  8. Info.plist:屬性列表
  9. en.lproj:本地化資源

信息屬性列表

(待續……)

相關文章
相關標籤/搜索