我的IOS工程目錄結構__IOS

來源:互聯網
上載者:User

以下均屬個人見解,有不妥地方請指出。

       在從事IOS開發前做過java web的工作,對項目目錄結構及分層有比較深刻的認識。無論是java中的三層或者七層的劃分,最主要的目的都是為了項目的可讀性、可維護性,給開發人員帶來便利;當然本人也從中受到了便利。所以在從事IOS應用開發時就很理所當然的想到了工程目錄結構。

       在xcode中看到的IOS目錄都是邏輯分包,如果不以實際的檔案夾進行區分,那麼即便是看到的目錄是一層層分下來的,但是當開啟項目所在的檔案夾會發現所有的檔案都在工程所在的檔案夾下面。我採用的是先在IOS工程目錄下面建立檔案夾然後拖動檔案夾到xcode,進行引入;這樣實際的工程目錄和xcode中看到的就能夠一一對應啦。

如下圖所示(項目實際在檔案夾中的階層,紅色遮蓋的為項目名稱):


xcode中項目的階層:


下面就是對各個目錄的介紹:

一、Model:

目錄中存放的是資料模型,即業務需要的實體類。可以根據需要在其下面建立不同業務的檔案夾,再在檔案夾下面存放相關實體類。如下:


Model目錄下面存放了“登入”相關和“我的資訊”相關邏輯的目錄,然後各個目錄下面再存放對應的實體。

二、NetWork:

網路處理層,對AFNetworking網路請求進行再次封裝,使用block或者代理的形式進行網路返回資料的處理。用於ViewController或者ViewModel中調用。

三、Resources:

資源檔目錄,我這主要存放圖片比如@2x、@3x圖片。可以根據實際情況,如同Model目錄中一樣,在其下面建立不同模組的檔案夾,然後再在對應模組下存放圖片。

四、ViewController:

商務邏輯控制層,存放UIViewController及相關控制類。一般情況下會同Model目錄中一樣,在其下面建立不同模組的檔案夾,然後再在對應模組下存放相應的控制類。如:


五:Common:

存放第三方庫、自己寫的協助類及自訂的UIView。如:fmdb、SDWebImage、jpush、AFNetworking、HelpClass、Widgets等:


六:AppDelegate:

建立項目自動建立的Group,存放AppDelegate、.plist、.strings等相關檔案。


七、ViewModel:

該模組放在最後,並不是說他不重要;前面的是MVC用到的,ViewModel主要是用在MVVM中。如同Model一樣可以根據需要在其下面建立不同業務的檔案夾:



上面的結構都是自己在項目中總結出來的,很多都是借鑒androi的,目的只有一個更好用更清楚明白。當然不同的人有不同見解,希望交流。


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.