View?Controller 和Class之間的關(guān)系
Xcode是如何知道Interface Builder 中的View Controller是和ViewController.swift中的ViewController相互關(guān)聯(lián)的呢?
整個(gè)事情看起來(lái)會(huì)很瑣碎但是事實(shí)上不是汁汗。你還記得我們創(chuàng)建Xcode項(xiàng)目時(shí)選擇的項(xiàng)目模板嗎衷畦?那是“Single View Application”模板。當(dāng)我們選擇這個(gè)項(xiàng)目模板后碰酝,Xcode自動(dòng)在Interface Builder 中創(chuàng)建默認(rèn)的view controller并且同時(shí)生成ViewController.swift 文件霎匈。在這個(gè)時(shí)候,view controller 自動(dòng)和swift文件中定義的ViewController類關(guān)聯(lián)起來(lái)了送爸。
進(jìn)入storyboard中,選擇view controller暖释。在工具區(qū)域袭厂,選擇名稱屬性查看器你會(huì)看到“ViewController”設(shè)置為Custom Class(定制類)。這就是Interface Builder中的對(duì)象和Swift中的類關(guān)聯(lián)起來(lái)的方法球匕。
Run按鈕的背后
我還想討論的最后一件事情是Run按鈕纹磺。當(dāng)你點(diǎn)擊Run按鈕,Xcode自動(dòng)啟動(dòng)仿真器并且運(yùn)行你的app亮曹。當(dāng)時(shí)在這些背后發(fā)生了什么橄杨?作為一個(gè)開(kāi)發(fā)者,你需要對(duì)所有細(xì)節(jié)有所了解照卦。
這整個(gè)過(guò)程可以分為三段:編譯式矫,打包和運(yùn)行
編譯(Compile)你可能認(rèn)為iOS可以理解Swift代碼。事實(shí)上役耕,iOS只能讀懂機(jī)器碼采转。Swift代碼是給開(kāi)發(fā)者閱讀和書(shū)寫(xiě)的。為了讓iOS讀懂a(chǎn)pp的源碼瞬痘,我們需要使用一個(gè)翻譯程序?qū)wift代碼翻譯成機(jī)器碼故慈。這個(gè)翻譯過(guò)程就是“編譯”板熊。Xcode中內(nèi)建了編譯器用于編譯源代碼。
打包(Package) 除了源代碼察绷,app通常還包含其他資源文件干签,比如圖片,文本文件拆撼,聲音文件等等筒严。所有的這些資源文件最后統(tǒng)一打包進(jìn)入app。我們通常把這個(gè)過(guò)程稱之為“build”過(guò)程情萤。
運(yùn)行(RUN) 就是真正運(yùn)行仿真器并且加載你的app
小結(jié)
你現(xiàn)在應(yīng)該對(duì)Hello World app如何工作有了基本的了解鸭蛙。如果是一個(gè)沒(méi)有任何編程經(jīng)驗(yàn)的初學(xué)者,可能不太容易理解我們前面討論的編程概念筋岛。不過(guò)沒(méi)有關(guān)系娶视,隨著你編寫(xiě)更多的代碼和隨著后面的章節(jié)逐漸開(kāi)發(fā)一個(gè)真實(shí)的app,你會(huì)越來(lái)越了解Swift和iOS編程的睁宰。
專題目錄:
第二章:使用Storyboard設(shè)計(jì)用戶界面(一)