相信不少開發者在新手階段都免不了記不住方法等各類各樣的窘境,因而,不少時候,在遇到使用相同控件屬性時,苦於記不住其種類繁多的代理方法,就只能照着以前寫過的代碼再照搬一遍,又或者稍有經驗的開發者在遇到代碼量略多但框架大致相同,只有細微幾處修改的需求時,copy以前寫過的代碼片斷並進行適當的修改,成了在平常開發中「提升開發效率」的經常使用手段,可是每每找尋以前的代碼也是一件頗爲耗時的事情。
不過,好在蘋果公司早就已經爲開發者考慮到了這一點,在xcode中爲開發者準備好了「快捷方式」——代碼塊
代碼塊,不少剛接觸ios開發的新手可能並不知道這是什麼,甚至已經有1-2年工做經驗的開發者沒有使用過代碼塊的也大有人在。那麼這個代碼塊到底是作什麼的呢?
我先來演示一遍使用效果,相信你們便會一目瞭然。ios
如今,我準備在viewController裏使用一個tableView,須要用到其代理協議中的方法,因而:
express
有沒有以爲很神奇,這個效率如何呢,短短2秒鐘的時間(可能還不到),就寫完了tableView代理協議中的幾個基本上必用到的方法,剩下只須要對沒填寫完成的佔位符進行填寫就完成了,效率不可謂不快,這就是代碼塊在平常開發中的做用。xcode
如今,你們對代碼塊的做用應該已經瞭解了,那麼下面,就讓咱們來看看如何使用這個代碼塊呢。
代碼塊,顧名思義,就是一「塊」嵌入的代碼框架,提早將所需的代碼框架寫入代碼塊,僅留出可能發生改動的地方用佔位符代替,使用時,以自定義標記的按鍵呼出相應代碼塊,填寫所需佔位符便可完成高效率的開發。框架
1.首先,咱們要如今類當中將咱們所需的代碼寫好,以剛纔我所使用的tableView的代理方法爲例:spa
#pragma mark - #pragma mark - tableView -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1; } -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return <#expression#> } -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { <#classCell#> * cell = [tableView dequeueReusableCellWithIdentifier:<#(nonnull NSString *)#>]; return cell; } -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { } -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { return <#expression#> }
注:佔位符的書寫格式爲<#name#>代理
2.寫好代碼以後,咱們找到xcode的右下角,如圖的方式,找到代碼塊的存放處
code
3.這些即是咱們存放代碼塊的地方,xcode中提早已經準備了一些系統自帶的方法
圖片
4.而後,咱們須要作的就是將咱們寫好的代碼 丟進 存放代碼塊的地方,你沒有看錯,就是丟進去
開發
5.Title就是你這段代碼在儲存點要給展現出來的名字,圖上標註的地方就是你呼出它所需鍵入的縮寫,隨便什麼均可以,想些什麼些什麼,固然越短越好,這樣,就大功告成了下次須要使用的時候就只需打出你的縮寫,這段代碼就本身調出來了
it
6.嘗試呼出你新建的代碼塊,就如最開始我作的那樣,若是代碼塊數量很少,也能夠直接從儲存點直接將其拖出來使用,像最開始存放時作的同樣,只不過咱們是反過來拖出來
7.若是須要對已經存好的代碼塊進行修改,那麼只須要找到你的代碼塊,而後單機它,點擊edit便可,若是想要刪除代碼塊,只須要選中代碼塊,而後輕敲Backspace鍵,彈出選項框時選擇delete便可