iOS開發(fā)開源框架和類
使用的開源框架和類:
1:SDWebImage,UIImageView+WebCache加載一張圖片。
2:UIViewExt用于定位坐標很有用,可以直接拿到bottom,top,left,right.
3:CustomCatagory,是個類目,里面有navigationBar和UINavigationController的兩種系統(tǒng)版本下自定義navigationBar背景圖片方法,用于自定義navigationBar背景圖片。
4:UIUtils工具類,里面我寫了四個方法,一個獲取documents下的文件路徑,一個將NSDate類型轉(zhuǎn)化成字符串類型,一個將字符串轉(zhuǎn)化成NSDate類型,還有一個將傳進來的一個評分字符串分割開成兩個,放在數(shù)組中,用于顯示兩個不同字體類型的評分。
5:CONSTS常量類,里面存放的是整個項目中需要使用的常量,寫成宏形式。
6:UIFactory里面自定義了button類型,兩種常用button樣式。
7:JSONKit類用于json數(shù)據(jù)解析
8:ASIHTTPRequest開源庫,用于請求網(wǎng)絡,需要依賴這五個系統(tǒng)自帶庫CFNetwork, SystemConfiguration, MobileCoreServices, 和 libz、libxml2。
9: DataSevrice網(wǎng)絡請求類,分GET和POST請求兩種方式,使用HTTP請求網(wǎng)絡,使用ASIFormDataRequest類,需要一個url參數(shù),當使用GET請求時候,不需要字典參數(shù),增加一個請求頭,當使用POST請求時候需要一個字典參數(shù),通過鍵key發(fā)送值。ASIFormDataRequest對象使用block請求數(shù)據(jù),判斷版本,5.0以上使用ios5自帶的json解析類NSJSONSerialization,5.0版本之下使用JSONKit類,請求之后,使用block回調(diào)。如果請求失敗,返回請求失敗。
10:轉(zhuǎn)化成model對象類,將請求下來的網(wǎng)絡數(shù)據(jù)字典轉(zhuǎn)化成model對象。方便在其他類之間進行數(shù)據(jù)傳輸。
11:自定了一個單例類,將項目中需要在控制器之間傳輸?shù)臄?shù)據(jù)存儲起來,方便調(diào)用。
12:使用OpenFlow開源框架,用于顯示首頁的圖片要實現(xiàn)效果,在AFItemView類里面設(shè)置了高清和低清兩種樣式,實現(xiàn)里面三個代理方法,一個用于圖片切換時改變,一個用于請求加載圖片,通過_operationQueue創(chuàng)建一個線程來進行加載,因為如果都在主線程進行圖片加載,可能會造成線程堵塞。
13:EGORefreshTableHeaderView用于上拉下拉刷新,實現(xiàn)里面的幾個代理方法,當手指放開時候會去調(diào)用加載數(shù)據(jù)代理方法。
小技巧:
在Mtime-Prefix.pch里導入的類.h文件在整個項目中都可以使用。
在Mtime-Info.plist文件里可以更改stateBar樣式,有三種。
在Localizations里可以跟改本地化,可以設(shè)置多種語言,在硬件里也要做相應設(shè)置。
按住option+command+run可以添加變量用于定位錯誤所在。
在項目中最好打開靜態(tài)分析器,會提示那里有內(nèi)存泄露,當然也不準確,一定要記得管理內(nèi)存。
遇到bug或直接崩潰,如果報的是exc-bad-access那么意味著在之前已經(jīng)將對象釋放了,而確又在后面使用它,所以要往上逆推尋找。調(diào)bug幾種常用方法,打斷點一步一步尋找,打印,包括數(shù)據(jù),引用計數(shù),暫時屏蔽一部分代碼,一部分一部分尋找。