使用者:Yijane.wu/Xcode Overview
Xcode工作環境
[編輯]在Xcode基本工作環境介面中,左邊區塊的操作面板是專案導覽器(Project Navigator Area),使用者可以在這個區塊找到所有專案的相關檔案。工作區中間區塊是編輯區(Editor Area),可以在這個區塊進行一些像是編輯專案設定、原始碼檔案、使用者介面操作等等。依照選取的檔案型式不同,Xcode會顯示不同介面,ex: 在專案導覽器選取ViewController.swift,Xcode會在中間區塊顯示程式原始碼,而選取了Main.storyboard,Xcode則顯示了Storyboard視覺編輯器。
最右邊的面板是工具區(Utilities Area),這個地方顯示了檔案的屬性,並且能夠使用迅速協助(Quick help)功能。如果Xcode沒有顯示這個區塊,可以點選工具列的右上角按鈕來開啟它。下方顯示的是除錯區(Debug Area),如名稱所示是用來顯示除錯訊息。最上方的工具列(Toolbar)能迅速使用常用命令像是能夠建構App的Run Button,Stop Button能終止正在運行的代碼,Scheme menu可以建構App模擬器的畫面,而 + 的按鈕可以新增Library Objects。
[Keyboard Shortcuts]
- Run: command + R
- Stop: command + .
- Library Objects: shift + command + L
- Clean: shift + command + K
下方為Xcode選取Mac的基本介面。
下方為Xcode選取iOS的基本介面。
Xcode iOS Interface.png
專案導覽器(Project Navigator Area)
[編輯]導覽整個專案相關檔案、警告、錯誤等的地方。
1. Project: 專案內的檔案,包括源代碼、圖片、屬性列表檔案。
2. Source: 將 Xcode 的專案建立上傳到 GitHub。
3. Symbol: 符號導覽器,面板中聚集了在工作區中定義的所有符號。
4. Find: 在此鍵入欲搜尋的關鍵字,可找尋project的每個檔案所包含的關鍵字。
5. Issue: 當編譯錯誤和警告時會出現紅字和黃字訊息,在此顯示出現問題的地方。
6. Test: 測試結果。
7. Debug: 除錯訊息。
8. Breakpoint: 設置斷點以暫停正在運行的應用程式。
9. Report: 報告訊息。
[Keyboard Shortcuts: command+ (1-9)]
AppDelegate.swift
[編輯]所謂的委派物件(Delegate Object),一個物件委派另外一個物件來執行特定任務,下方為Mac基本程式碼畫面。
下方為iOS基本程式碼畫面。
ViewController.swift
[編輯]View Controller是App內部結構的基礎,是模型和試圖之間的橋樑,可以與Main.storyboard介面作互動,ex: 點擊Button觸發某事件。每個App至少含有一個View Controller,大多數會含有多個,每個View Controller管理著App用戶界面的一部分,包括這些界面間的交互以及潛在的數據,下方為Mac基本程式碼畫面。
下方為iOS基本程式碼畫面。
Main.storyboard
[編輯]建立專案時選項選取storyboard作為使用者介面則會產生此Storyboard的視覺編輯器,也就是所謂的介面建構器(Interface Builder)。Xcode 在專案中會預設兩個 storyboard ,一個為 Main.storyboard ,另一個為 LaunchScreen.storyboard。Main.storyboard 提供 App 畫面以及畫面切換,Main.storyboard以視覺化的方式呈現,可以自行配置元件(Objects)以及直接編輯使用者介面。
Interface Builder Editor提供一個視覺化的方式讓開發者來建立與設計App的UI,不只可以使用它來設計個別的視圖,介面建構器的Storyboard也可以佈局多個視圖,並使用不同的轉場(transition)方式來建立完整的使用者介面,下方為Mac基本程式碼畫面。
下方為iOS基本程式碼畫面。
Assets.xcassets
[編輯]放置App的icon小圖示或是所要使用的圖片放置位置,下方為Assets基本畫面。
iOS專用檔案
[編輯]SceneDelegate.swift
[編輯]使用新XCode創建一個新的iOS項目時,SceneDelegate會被默認創建,SceneDelegate將負責AppDelegate的某些功能,window(窗口)的概念已被scene(場景)的概念所代替。一個應用程序可以具有不止一個場景,而一個場景現在可以作為您應用程序的用戶界面和內容的載體(背景),下方為iOS基本程式碼畫面。
LaunchScreen.storyboard
[編輯]當開啟App時一開始載入時會出現的「歡迎」的畫面,我們無法透過程式碼來操作 LaunchScreen.storyboard 中的 view controller。
Info.plist
[編輯]用於向iOS提供關於app、bundle或者framework的一些重要資訊。它指定了例如一個應用應該怎樣啟動、如何被本地化、應用的名稱、要顯示的圖示諸如此類,而Info也是定義schema的XML檔案。