總結一些程式碼規範。
本文主要講解一下自己在開發過程中對一些常用的全域性變數的定義。
之前自己做過一些電商類的應用,電商類的應用功能比較多,包含了各種功能,包括友盟統計,地圖,分享,支付等等功能,這些功能都需要對應的私鑰去關聯,那麼這些私鑰如何儲存呢,這裡我使用的是全域性變數飲用plist檔案的方法。
這些有經驗的都有自己的整理方法,這裡我就記錄一下自己所用的方法了。
首先是建立一個數據自己應用XXXconfig.h的檔案,用來定義全域性變數,然後建立一個plist檔案keyconfig.plist用來儲存你的私鑰,當然這個plist是一個字典形式的。然後在XXXconfig.h中去呼叫這個plist檔案。
#define CONFIG_FROM_PLIST(key) [[NSDictionary dictionaryWithContentsOfURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"keyconfig" ofType:@"plist"]]] objectForKey:key]
之後在下面去建立對應key的全域性變數,方便專案中進行呼叫。
首先是命名 ,首先是開頭,開頭代表整個全域性變數的型別,K開頭為key, 如果是全域性變數的顏色就是COLOR_開頭,我的全域性變數的顏色,字型也會放在一個XXXColor.h的檔案中,我建議是應用的主色,輔色,字型的顏色都放在裡面,包括字型的大小。
像這個裡面就定義了,背景主色,按鈕主色這些顏色等,他們也是寫在了plist檔案中,這樣的好處是,如果以後專案出了主題功能或者面板功能,我們就可以 一個plist檔案控制一個面板了,而在程式碼中就不需要去改程式碼的顏色了,非常方便。
當然還有一些其他的全域性變數,比如Block,定義幾個常用的返回型別的Block,比如string,NSIndexPath,index,key-value,這些定義,都可以大大減少程式碼量,而且管理起來也十分方便。
然後是最近遇到的一個圖片管理的問題。因為我們公司的安卓和iOS用的圖示是一樣的,正常來說ios這邊是需要一倍圖二倍圖的,這裡在管理圖片的上面我建議使用Assets.xcassets去管理,真的很方便,有些人覺得放在對應的功能下面的Resource裡面用更方便,這種開始方便查詢,但是當專案的圖示豐富起來之後,在查詢圖示的時候就會很痛苦,因為別人在接觸你這個專案後不會有你熟悉這個專案,就會造成很多時間的浪費。
而在使用Assets.xcassets時我建議,有兩種分類方式結合使用更為方便,第一是按照圖示的型別分類,比如一些箭頭,加減號,日曆,這些標準的圖示在一個資料夾裡面,然後功能對應的功能圖示按照每個功能去分類,比如購物車功能的私有圖示就在購物車的資料夾中,這樣在管理圖示上面,會有很高的效率。
最後我說一下在VC中的程式碼順序。
首先是
#pragma mark - Life Cycle
這裡通常是對檢視的生命週期進行處理,一般VC屬性的setter方法也會寫在這裡。
#pragma mark - CreateUIData
- (void)createUI
- (void)createDataRefresh:(BOOL)refresh
這裡是對頁面的檢視佈局,以及介面的資料請求,通常對應的兩個方法。
#pragma mark - ButtonAction
這個下面主要是寫一些Button對應的方法,如果有多個按鈕我喜歡通過按鈕的tag值來在同一個buttonAction中用switch進行判斷。
#pragma mark - StartTableView
#pragma mark - StartCollectionView
接下來是TableView 和 CollectionView的代理方法的書寫了。
#pragma mark - UIScrollViewDelegeta
#pragma mark -- TZImagePickerControllerDelegate
最下面的就是一些其他功能的Delegate對應的方法了。這些命名方式都是根據對應的代理方法名字命名的。在查詢過程中就很方便。