
coldplay
相信很多開發者在初級階段時都免不了記不住方法等各種各樣的窘境,于是,很多時候,在遇到使用相同控件屬性時,苦于記不住其種類繁多的代理方法,就只能照著之前寫過的代碼再照搬一遍,又或者稍有經驗的開發者在遇到代碼量略多但框架大體相同,只有細微幾處修改的需求時,copy之前寫過的代碼片段并進行適當的修改,成了在日常開發中“提高開發效率”的常用手段,但是往往找尋之前的代碼也是一件頗為耗時的事情。
不過,好在蘋果公司早就已經為開發者考慮到了這一點,在Xcode中為開發者準備好了“快捷方式”——代碼塊
代碼塊
,很多剛接觸iOS開發的新手可能并不知道這是什么,甚至已經有2-3年工作經驗的開發者沒有使用過代碼塊
的也大有人在。那么這個代碼塊究竟是做什么的呢?
我先來演示一遍使用效果,相信大家便會一目了然。
現在,我準備在viewController里使用一個tableView,需要用到其代理協議中的方法,于是:
有沒有覺得很神奇,這個效率如何呢,短短2秒鐘的時間(可能還不到),就寫完了tableView代理協議中的幾個基本上必用到的方法,剩下只需要對沒填寫完成的占位符進行填寫就完成了,效率不可謂不快,這就是代碼塊
在日常開發中的作用。
現在,大家對代碼塊
的作用應該已經了解了,那么下面,就讓我們來看看如何使用這個代碼塊
呢。
代碼塊
,顧名思義,就是一“塊”嵌入的代碼框架,提前將所需的代碼框架寫入代碼塊,僅留出可能發生改動的地方用占位符代替,使用時,以自定義標記的按鍵呼出相應代碼塊,填寫所需占位符即可完成高效率的開發。
1.首先,我們要現在類當中將我們所需的代碼寫好,以剛才我所使用的tableView的代理方法為例:
#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的右下角,如圖的方式,找到代碼塊的存放處
3.這些便是我們存放代碼塊的地方,Xcode中提前已經準備了一些系統自帶的方法
4.然后,我們需要做的就是將我們寫好的代碼 丟進 存放代碼塊的地方,你沒有看錯,就是丟進去
Title就是你這段代碼在儲存點要給展示出來的名字,圖上標注的地方就是你呼出它所需鍵入的縮寫,隨便什么都可以,想些什么些什么,當然越短越好,這樣,就大功告成了下次需要使用的時候就只需打出你的縮寫,這段代碼就自己調出來了
6.嘗試呼出你新建的代碼塊,就如最開始我做的那樣,如果代碼塊數量不多,也可以直接從儲存點直接將其拖出來使用,像最開始存放時做的一樣,只不過我們是反過來拖出來
7.如果需要對已經存好的代碼塊進行修改,那么只需要找到你的代碼塊,然后單機它,點擊edit
即可,如果想要刪除代碼塊,只需要選中代碼塊,然后輕敲Backspace
鍵,彈出選項框時選擇delete
即可
感謝你花時間閱讀我的文章