iOS開發學習筆記:基礎篇

iOS開發需要一臺Mac電腦、Xcode以及iOS SDK。因爲蘋果設備都具有自己封閉的環境,所以iOS程序的開發必須在Mac設備上完成(當然,黑蘋果應該也是可以的,但就需要花很多的精力去折騰基礎環境),Xcode是一個集成開發環境,包括了編輯器、調試、模擬器等等一系列方便開發和部署的工具,iOS SDK則是開發應用所必需,不同的SDK分別對應不同的iOS版本或設備,通常我們需要下載多個iOS SDK以確保我們開發的程序能夠在不同版本的iOS上正常運行。

 
創建新工程
 
Xcode提供了很多種工程模版,包括Master-Detail Application、OpenGL Game、Page-Based Application、Single View Application、Tabbed Application、Utility Application、Empty Application等。選擇「File->New->Project」彈出下面的對話框。我們這裏選擇一個Empty Application,通過這個來學習瞭解iOS程序的結構。
 
點擊Next後,繼續到下一個界面。填寫產品名稱和類前綴、公司標識等信息。
 
 
點擊Next,會提示選擇工程存放的文件夾,選擇完成後,就會彈出下面的界面。這個界面就是Xcode的工作界面。Xcode作爲一個IDE開發環境,爲我們提供了iOS程序開發所需要的一切。編譯器、調試工具、模擬器、編輯器、版本控制等等。像所有的IDE工具一樣,我們應當花一些時間來了解自己的工具,可以通過幫助或者其他的一些途徑。本文就不再涉及Xcode的使用了。
 
 
因爲我們的工程是基於模板創建的,所以基本的app環境已經設置好了。即便我們此時還沒有輸入任何代碼,我們的空白程序已經可以運行了。要運行App,可以選擇使用iOS Simulator(iOS模擬器)。模擬器可以提供不同類型的硬件的模擬,iPad、iPhone等等。可以通過點擊工具欄左側的運行圖標,或者從菜單Product->Run,或者快捷鍵Command+R運行你的程序。
 
代碼概覽
 
使用Empty Application創建的應用,會默認創建一些源代碼文件來建立App運行的基礎。大多數工作是在 UIApplicationMain 這個函數中完成的,這個函數通過 main.m 文件自動調用。UIApplicationMain 函數創建一個應用對象來創建App運行的基礎環境,包括一個無限循環來響應程序中的事件。
 
 
下面來看看Main.m文件的主要內容。UIApplication使用了 @autoreleasepool 聲明來支持App的內存管理。自動計數器Automatic Reference Counting(ARC)來跟蹤對象的使用情況。
 
 
UIApplicationMain 的調用創建了App的兩個重要對象。1、一個UIApplication類的實例,也叫做 application object;2、一個WSQAppDelegate實例,也叫做app delegate。app delegate創建了一個空白的窗口來展示應用的內容,這就是我們定義應用的地方。圖中的WSQAppDelegate的接口定義在 WSQAppDelegate.h中,實現定義在WSQAppDelegate.m中。
 
當應用啓動的時候,application object 會調用app delegate中定義的方法,來完成特定的任務。app delegate的接口文件中,僅定義了一個UIWindow的屬性。
 
 
WSQAppDelegate.m中定義了多個響應系統行爲的函數,包括應用啓動、激活、進入後臺等等。我們也可以在這些方法中加入自己的處理邏輯。
 
 
創建Storyboard
 
Storyboard是App用戶界面的可視化表現,現實屏幕內容以及各種過度效果。選擇File->New->File(或者使用Command-N快捷鍵),選擇下一步後在Device Family中選擇iPhone,然後繼續下一步選擇文件保存的位置。Storyboard文件創建完成後,在工程的屬性中指定Main Interface爲創建的Storyboard。Storayboard只是一個空的容器,此時執行程序的話,並不能夠獲得任何界面,接下來需要在Storyboard中添加場景Scence。
 
 
選擇Main.Storyboard,Xcode會打開Interface Builder,展現出一個空白的畫布。然後打開Object Library,找到View Controller,拖拽到Storyboard中就可以了。可以看到View Controller左側有一個箭頭,這個表示當前的Scene是App的初始化界面,這個時候我們可以運行程序,在模擬器中看到這個空白的界面,表明我們所有的配置都是成功的。
 
 
接下來,我們就可以選擇把Label、Input等各種控件拖到View Controller上來爲自己的應用進行佈局了,還可以調整字體大小、顏色等等選項,初級的App創建就這樣完成了。 
 
 
 
參考資料: