注:這是本人對多年來iOS開發中項目結構一點本身的看法也是爲公司內部制定的iOS項目建立模板結構;文中引入了sina的iOS-iPhone的客戶端的界面架構,可是本人並不是sina的工做人員,只是根據本身的理解劃分了項目結構,歡迎提出不一樣觀點,gwinabc@foxmail.com,歡迎轉載,轉載時請保留文章的全部內容,謝謝.html
本篇文章原文(http://www.cnblogs.com/Shreker/p/5018629.html)會不定時更新...git
項目結構GitHub地址:https://github.com/Shreker/QLProjectDemo.gitgithub
UPDATE: 這些天把文件從新整理一下,添加了一些經常使用的東西,更新見GitHub緩存
=====================架構
當咱們進入到新的公司的第一天,看到之前老員工編寫的代碼,找個東西累死人咧,那個抓耳撓腮的啊,通常狀況下都有想揍人的趕腳. 哈哈, 包忙, 先想一下本身的代碼! 想一下本身寫的代碼怎麼才能新來的人一眼就能看懂,想找什麼,在幾秒以內就能找到?這個就要在前期建立項目的時候留神了, 要保證項目的易讀性、易維護性、易擴展性:框架
在我看來, 做爲一個項目開發的領頭人, 你能夠從兩個方面着手:工具
今天就先介紹我在作新項目的時候項目架構(代碼規範我會在下一篇文章以總結的形式羅列出來),搞理論,這個我不擅長,只好整個例子說一說;考慮到不少人在剛學OC的時候都用`新浪微博`來練手,因此這裏就拿新浪微博的iPhone客戶端來講事, 也正好對比一下, 這樣更能看出問題所在.(其實,目前市場上基本全部的應用都適用,本文說的就是一個思想,不論平臺,不論語言,只要能理解,就能夠應用到實際的應用開發中.)spa
爲了爲項目代碼建立一個易讀性、易維護性、易擴展性都至關不錯的代碼模板,如今要求項目代碼的搭建者按照以下的步驟進行:設計
一、 全部新建項目最好是「Single View Application」:代碼規範
二、 填好各個項目,這裏注意,項目名稱最好使用英文:
三、 項目建立好以後,第一件事就是修改最低部署系統的Target版本:
四、 接下來就是源文件管理,咱們看左側的導航區域:
五、 導入咱們已經準備好的項目結構文件(就是項目結構的文件夾和文件的集合在這下載查看)到與項目名稱相同的目錄之下,如圖:
,
結果是這樣的:
六、 其中文件夾`QLClasses`中是該項目中的全部源代碼,`QLResources`中存放的是全部的非代碼資源文件,下面就這兩個文件夾的結構就新浪微博目前的結構進行詳細的說明:
剛纔看到有人提出了不一樣的觀點,在此表示衷心的感謝.他的意思是項目的代碼量若是太大,這種結構根本就不適用.
其實你們誤解了,我忘記在文中說明這樣設計的初衷和好處,在這裏補一下:
任何的問題都有兩面性,咱們面臨的問題是`變數`太多,而咱們的任務就是把`變數`降到最低,直到咱們想要的答案距離近到咱們可以接受.