使用的開源架構和類:
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幾種常用方法,打斷點一步一步尋找,列印,包括資料,引用計數,暫時屏蔽一部分代碼,一部分一部分尋找。