讀書筆記-基礎,讀書筆記基礎

來源:互聯網
上載者:User

讀書筆記-基礎,讀書筆記基礎

1、iOS的系統架構分為4層——Cocoa Touch層、Media層、Core Services層和Core OS層。

2、自動布局(Auto Layout)最先應用於Mac 0S X 10.7的開發,它為視圖布局定義一套約束,而約束定義了兩個介面中視圖之間的關係。

3、AppDelegate是應用程式委派物件,繼承了UIResponder類,並實現了UIApplicationDelegate委託協議。前者使子類AppDelegate具有處理相應時間的能力,而後者委託協議使其能夠成為應用程式委派物件,這種對象能夠響應應用程式的生命週期。相應的,AppDelegate的子類也能夠實現這兩個功能。

4、ViewController類繼承自UIViewController類,它是視圖控制器類,在工程中扮演著根視圖和使用者事件控制類的角色。 

5、nib等同於xib。一般而言,一個工程中可以有多個xib檔案,一個xib檔案對應著一個視圖控制器和多個視圖,而使用故事版時,一個工程只需要一個故事板檔案就可以了。故事板還可以描述介面之間的導航關係。 事實上,故事板是多個xib檔案集合的描述檔案,也採用xml格式。

6、應用的生命週期:作為應用程式的委派物件,AppDelegate類在應用生命週期的不同階段會回調不同的方法。

下面簡要介紹下iOS應用的的5種狀態。

Not Running(非運行狀態)。應用沒有運行或被系統終止。

Inactive(前台非使用中)。應用正在進入前台狀態,但是還不能接受事件處理。

Active(前台活動狀態)。應用進入前台狀態,能接受事件處理。

Background(後台狀態)。應用進入後台後,依然能夠執行代碼。如果有可執行檔代碼就會執行代碼,如果沒有可執行檔代碼或者將可執行檔代碼執行完畢,應用會馬上進入掛起狀態。

Suspended(掛起狀態)。處於掛起的應用進入一種“冷凍“狀態,不能執行代碼。如果系統記憶體不夠,應用會被終止。

在應用狀態躍遷的過程中,iOS系統會回調AppDelegate中的一些方法,並且發送一些相應的通知:

application:didFinishLaunchingWithOptions:應用啟動並進行初始化時會調用該方法並發出通知,這個階段會執行個體化根視圖控制器。

applicationDidBecomeActive:應用進入前台並處於活動狀態時調用該方法並發出通知。這個階段可以恢複UI的狀態。

applicationWillResignActive:應用從活動狀態進入到非使用中時調用該方法並發出通知。這個階段可以儲存UI的狀態。

applicationDidEnterBackground:應用進入後台時調用該方法並發出通知。這個階段可以儲存使用者資料,釋放一些資源(例如資料庫資源等)

applicationWillEnterForeground:應用進入到前台,但是還沒有處於活動狀態時調用該方法並發出通知。這個階段可以恢複使用者資料。

applicationWillTerminate:應用被終止時調用該方法並發出通知,但記憶體清除時除外。這個階段釋放一些資源,也可以儲存使用者資料。

下面我們以幾個應用情境為切入(具體分析就不寫了,相信大家肯定也都能理解):

應用啟動情境:Not running→Inactive→Active 

應用退出情境:該情境的狀態躍遷過程可以分為兩種情況,可以在後台運行或掛起和不可以。根據產品屬性檔案中的相關屬性Application does not run in background可以控制這兩種這兩種狀態。

(1)應用可以在後台運行或掛起:Active → Inactive → Background→Suspended 

(2)應用不可以在後台運行或掛起:Active → Inactive → Background→Suspended→Not running

掛起重新運行情境:Suspended → Background → Inactive → Active

記憶體清除-應用終止情境: Background→Suspended→Not running

7、視圖生命週期

在視圖不同的生命週期中,視圖控制器會回調不同的方法。

在視圖控制器已被執行個體化,視圖被載入到記憶體中時調用viewDidLoad方法,這個時候視圖並未出現。在該方法中,通常進行的是對所控制的視圖進行初始化處理。

視圖可見前後會調用viewWillAppear:方法和viewDidAppear:方法。視圖不可見前後會調用viewWiiDisappear:和viewDidDisappear:方法。4個方法調用父類相應的方法以實現其功能,編碼時該方法的位置可根據情況做以調整,如下:

1 -(void)viewWillAppear:(BOOL)animated 2 { 3 [super viewWillAppear:YES];

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.