<p id="qitwt"></p>
      1. <object id="qitwt"><strong id="qitwt"></strong></object>
        <p id="qitwt"></p>
        <li id="qitwt"></li>
        <p id="qitwt"><del id="qitwt"><xmp id="qitwt"></xmp></del></p>
        <p id="qitwt"><label id="qitwt"></label></p>
      2. <acronym id="qitwt"></acronym>
        <p id="qitwt"></p>
        免費開源的iOS開發學習平臺

        iOS新建項目架構規范

        當我們需要開始編寫一個新的iOS工程時,第一步就是如何建立這個工程的目錄規范。這對工程的易讀性、易維護性、易擴展性都有很大的意義。

        為了為項目代碼創建一個易讀性、易維護性、易擴展性都相當不錯的代碼模板,現在要求項目代碼的搭建者按照如下的步驟進行:

        所有新建項目最好是「Single View Application」

        填好各個項目

        注意,項目名稱最好使用英文

        項目創建好之后,第一件事就是修改最低部署系統的Target版本:

        接下來就是源文件管理,我們看左側的導航區域

        • 非代碼源文件全部移動到「Supporting Files」中;
        • 選中Appdelegate和ViewController的.h和.m,右鍵「Show In Finder」,然后把Appdelegate和ViewController的.h和.m移到廢紙簍,回到Xcode,刪除紅色的剛才我們刪除的文件(也可以直接在Xcode中右鍵->delete->movetotrash, 但是有時候會刪除地不干凈);

        導入我們已經準備好的項目結構文件到與項目名稱相同的目錄之下

        結果是這樣的:

        • 其中文件夾QLClasses中是該項目中的所有源代碼,QLResources中存放的是所有的非代碼資源文件,下面就這兩個文件夾的結構就新浪微博目前的結構進行詳細的說明。整體的框架圖如下(這才是重點):

        • 需要注意的是圖片的處理,在QLResources中有個QLImages文件夾,這個文件夾是供特殊的圖片文件而設立的,你不能把所有的圖片都塞到這里,這個不科學.最好還是放在Assets.xcassets中.那么到底是哪些圖片呢?在有些項目中,大量使用了全屏的背景圖片,這樣的圖片我們一定不能使用[UIImage imageNamed:@”imageName”]的方式加載,因為這個方法會把圖片直接緩存到內存中,試想一下,如果很多張圖片都塞進內存是什么情況?那就只能使用[UIImage imageWithContentsOfFile:@”imagePath”]的方式,但是我們知道, Assets.xcassets中的圖片在生成ipa后會被打包成一個壓縮文件,以減少內存的占用,這個imagePath從哪里來呢,所以問題就解決了,把這些圖片放到這個文件夾下面,加載的時候直接用NSBundle解決path的問題,ok;

        • 項目中肯定會遇到多個界面使用同一個數據模型的問題,最好還是在QLMain文件夾中創建兩個文件夾QLCommonModelQLCommonView兩個文件夾,以便統一管理;

        • 在Xcode左側導航中看到的結構中的每一個文件夾(除卻Supporting Files),必須映射到Finder中的文件夾中,這樣在不打開項目的情況下,我們就可以迅速的定位出以前寫過的工具類的位置,也方便在Finder中查看當前項目的結構.


        青青草国产成人久久_jizzjizz日本护士高清_亚洲 另类 国产 另类_99久久免费精品色老
        <p id="qitwt"></p>
          1. <object id="qitwt"><strong id="qitwt"></strong></object>
            <p id="qitwt"></p>
            <li id="qitwt"></li>
            <p id="qitwt"><del id="qitwt"><xmp id="qitwt"></xmp></del></p>
            <p id="qitwt"><label id="qitwt"></label></p>
          2. <acronym id="qitwt"></acronym>
            <p id="qitwt"></p>