在上一篇分享《統(tǒng)一項目編碼風(fēng)格之必要性與實現(xiàn)》中喊暖,我們提到了項目編碼風(fēng)格統(tǒng)一的其中一種方法就是使用共同的自定義代碼塊并级。這里我們要說明的是自定義代碼塊 :
- 不僅能使項目中各個開發(fā)者的代碼風(fēng)格趨于統(tǒng)一教翩;
- 還能提高個人的開發(fā)效率蔓挖。
項目中有很多代碼都是相似甚至相同的代碼踱侣,這些代碼不能忽略不得不寫罢杉,比如懶加載趟畏,tableView的數(shù)據(jù)源與代理協(xié)議,分段標(biāo)簽滩租,約束方法等等赋秀。即使編碼再熟練也沒必要慢慢去敲出這些代碼利朵,有了自定義代碼塊工具,我們只需要鍵入簡單的幾個字母猎莲,Xcode就會提示自動補全我們預(yù)先自定義在代碼塊中的所有代碼绍弟,這能節(jié)約我們很多時間,我們能將更多地精力用在更有意義的編程工作中著洼。
如何自定義代碼塊晌柬?
比如我們不想每次使用tableview的時候都去一個一個寫tableview的數(shù)據(jù)源及代理協(xié)議,我們可以自定義一個叫RYMarkTableViewDelagate的代碼塊郭脂,當(dāng)我們輸入RYMark時,Xcode就會提示自動補齊澈歉,我們只需按回車鍵展鸡,整段代碼就會自動出現(xiàn)在編輯器頁面中。
具體操作如下:
- 編寫好代碼塊中的代碼:
#pragma mark - <UITableViewDataSource>
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return <#num#>;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
return <#cell#>;
}
#pragma mark - <UITableViewDelegate>
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {
}
- 選中這段代碼埃难,點擊鼠標(biāo)右鍵莹弊,出現(xiàn)操作菜單,點擊菜單中的Create Code Snippet就會彈出代碼塊編輯控件涡尘。
選中代碼忍弛,點擊右鍵,如下圖:
點擊Create Code Snippet考抄,彈出代碼塊編輯框细疚,如下圖:
- 編輯框需要填的內(nèi)容如下圖所示:
填寫好的代碼塊如下圖:
- 細(xì)心的朋友會發(fā)現(xiàn)我們編寫的代碼塊中含有<# #> 標(biāo)志,該標(biāo)志說明可以讓代碼塊中的被其包含的部分處于可編輯狀態(tài)川梅。
如:
@property (nonatomic, <#copy#>) <#NSString#> * <#stringName#>;
自定義代碼塊的代碼塊如何共用疯兼?
Xcode代碼塊默認(rèn)存儲位置、路徑如下:
~/Library/Developer/Xcode/UserData/CodeSnippets
只需將其中定義好的代碼塊拷貝到其他人的電腦中同樣的位置即可贫途。