View?Controller 和Class之間的關系
Xcode是如何知道Interface Builder 中的View Controller是和ViewController.swift中的ViewController相互關聯的呢?
整個事情看起來會很瑣碎但是事實上不是。你還記得我們創建Xcode項目時選擇的項目模板嗎?那是“Single View Application”模板。當我們選擇這個項目模板后,Xcode自動在Interface Builder 中創建默認的view controller并且同時生成ViewController.swift 文件。在這個時候,view controller 自動和swift文件中定義的ViewController類關聯起來了。
進入storyboard中,選擇view controller。在工具區域,選擇名稱屬性查看器你會看到“ViewController”設置為Custom Class(定制類)。這就是Interface Builder中的對象和Swift中的類關聯起來的方法。
Run按鈕的背后
我還想討論的最后一件事情是Run按鈕。當你點擊Run按鈕,Xcode自動啟動仿真器并且運行你的app。當時在這些背后發生了什么?作為一個開發者,你需要對所有細節有所了解。
這整個過程可以分為三段:編譯,打包和運行
編譯(Compile)你可能認為iOS可以理解Swift代碼。事實上,iOS只能讀懂機器碼。Swift代碼是給開發者閱讀和書寫的。為了讓iOS讀懂app的源碼,我們需要使用一個翻譯程序將Swift代碼翻譯成機器碼。這個翻譯過程就是“編譯”。Xcode中內建了編譯器用于編譯源代碼。
打包(Package) 除了源代碼,app通常還包含其他資源文件,比如圖片,文本文件,聲音文件等等。所有的這些資源文件最后統一打包進入app。我們通常把這個過程稱之為“build”過程。
運行(RUN) 就是真正運行仿真器并且加載你的app
小結
你現在應該對Hello World app如何工作有了基本的了解。如果是一個沒有任何編程經驗的初學者,可能不太容易理解我們前面討論的編程概念。不過沒有關系,隨著你編寫更多的代碼和隨著后面的章節逐漸開發一個真實的app,你會越來越了解Swift和iOS編程的。
專題目錄: