iOS MVC App 的 Xcode 專案如何分類檔案(project organization)

開發 iOS App 時,隨著我們的技術愈來愈厲害,能夠開發愈多的功能和畫面,專案裡的檔案往往也愈來愈多。此時最好能將檔案做個分類,在 project navigator 建立 group(黃色資料夾),方便我們一目瞭然了解 App 的架構。但是該怎麼分類呢 ?

分類的方式其實沒有標準答案,對於採用 MVC 架構開發 iOS App 的初學者來說,不妨參考 Apple 在 Develop in Swift Data Collections 電子書裡的建議:

Lesson 1.3 Model View Controller

簡單版的分類:

分成 5 種:

  1. View controllers

view controller 相關的檔案。

2. Views

畫面相關的檔案,比方自訂的 cell 類別,自訂的 button。

3. Models

資料相關的檔案。

4. Other controllers

其它 controller,主要有 model controller & helper controller 兩種。

(1) model controller:

負責控制 model,比方 Notes App 裡可用 NoteController 控制 note 的相關功能。

(2) helper controller

負責某個特別的功能,比方負責網路功能的 NetworkController。

5. AppDelegate, SecenDelegate & Main.storyboard 單獨放在最外層。

複雜版的分類:

分成 8 種:

  1. View controllers
  2. Views
  3. Model
  4. Model controllers
  5. Helper controllers
  6. Protocols
  7. Extensions
  8. Resources ( 裡頭包含 storyboards,frameworks 等)

其它參考的分類

ray wenderlich 的教學範例將某些特別功能的檔案分在 Services 底下,比方抓取網路資料的 WeatherbitService & 將地址轉換成經緯度的 LocationGeocoder。

--

--

彼得潘的 iOS App Neverland
彼得潘的 Swift iOS App 開發問題解答集

彼得潘的iOS App程式設計入門,文組生的iOS App程式設計入門講師,彼得潘的 Swift 程式設計入門,App程式設計入門作者,http://apppeterpan.strikingly.com