iOS開發:開源架構和類

來源:互聯網
上載者:User

   使用的開源架構和類:

  1:SDWebImage,UIImageView+WebCache載入一張圖片。

  2:UIViewExt用於定位座標很有用,可以直接拿到bottom,top,left,right.

  3:CustomCatagory,是個類目,裡面有navigationBar和UINavigationController的兩種系統版本下自訂navigationBar背景圖片方法,用於自訂navigationBar背景圖片。

  4:UIUtils工具類,裡面我寫了四個方法,一個擷取documents下的檔案路徑,一個將NSDate類型轉化成字串類型,一個將字串轉化成NSDate類型,還有一個將傳進來的一個評分字串分割開成兩個,放在數組中,用於顯示兩個不同字型類型的評分。

  5:CONSTS常量類,裡面存放的是整個項目中需要使用的常量,寫成宏形式。

  6:UIFactory裡面自訂了button類型,兩種常用button樣式。

  7:JSONKit類用於json資料解析

  8:ASIHTTPRequest開源庫,用於請求網路,需要依賴這五個系統內建庫CFNetwork, SystemConfiguration, MobileCoreServices, 和 libz、libxml2。

  9: DataSevrice網路請求類,分GET和POST請求兩種方式,使用HTTP請求網路,使用ASIFormDataRequest類,需要一個url參數,當使用GET請求時候,不需要字典參數,增加一個要求標頭,當使用POST請求時候需要一個字典參數,通過鍵key發送值。ASIFormDataRequest對象使用block請求資料,判斷版本,5.0以上使用ios5內建的json解析類NSJSONSerialization,5.0版本之下使用JSONKit類,請求之後,使用block回調。如果請求失敗,返回請求失敗。

  10:轉化成model對象類,將請求下來的網路資料字典轉化成model對象。方便在其他類之間進行資料轉送。

  11:自定了一個單例類,將項目中需要在控制器之間傳輸的資料存放區起來,方便調用。

  12:使用OpenFlow開源架構,用於顯示首頁的圖片要實現效果,在AFItemView類裡面設定了高清和低清兩種樣式,實現裡面三個代理方法,一個用於圖片切換時改變,一個用於請求載入圖片,通過_operationQueue建立一個線程來進行載入,因為如果都在主線程進行圖片載入,可能會造成線程堵塞。

  13:EGORefreshTableHeaderView用於上拉下拉重新整理,實現裡面的幾個代理方法,當手指放開時候會去調用載入資料代理方法。

  小技巧:

  在Mtime-Prefix.pch裡匯入的類.h檔案在整個項目中都可以使用。

  在Mtime-Info.plist檔案裡可以更改stateBar樣式,有三種。

  在Localizations裡可以跟改本地化,可以設定多種語言,在硬體裡也要做相應設定。

  按住option+command+run可以添加變數用於定位錯誤所在。

  在項目中最好開啟靜態分析器,會提示那裡有記憶體泄露,當然也不準確,一定要記得管理記憶體。

  遇到bug或直接崩潰,如果報的是exc-bad-access那麼意味著在之前已經將對象釋放了,而確又在後面使用它,所以要往上逆推尋找。調bug幾種常用方法,打斷點一步一步尋找,列印,包括資料,引用計數,暫時屏蔽一部分代碼,一部分一部分尋找。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.