首先,必須先強調下代碼複用的重要性。
複用的重要性:第一,較高的生產效率;第二,較高的軟體品質;第三,適當的使用複用可以改善系統的可維護性。
複用不僅僅是代碼的複用,代碼複用只是複用的初等形式
傳統的複用:代碼的剪貼複用,演算法的複用,資料結構的複用。
在一個物件導向的語言中,資料的抽象化、繼承、封裝和多態性等特性使得一個系統可以在更高的層次上提供複用性。
抽象化和繼承關係使得概念和定義可以複用。多態性使得實現和應用可以複用。抽象化和封裝可以保持和促進系統的可維護性。使得複用的焦點不再集中在函數和演算法等具體實現細節上,而是集中在最重要的含有宏觀商業邏輯的抽象層次上。
(以上內容摘自)
可見,代碼的複用十分重要。
而在一款應用的開發中,或者在自己的coding過程中,重複的代碼塊經常出現。
比如一個UIButton的聲明, 一個UITableView的使用等等,都會設計一些相同的代碼。
這時候,代碼複用就顯的格外重要。
當然,我們可以從之前寫過的代碼中去copy。 但是,這樣的尋找過程是沒必要的。因為xcode完全為我提供了另外一種簡單的方式。----Code Snippets
總的來說,就是把代碼放到xcode的代碼片庫裡,直接使用, 從而提高開發效率。
在介紹如何使用Code Snippets之前,先介紹一下常規的幾種代碼複用方法。
1. 將常用程式碼片段封裝成一個類裡
當一個代碼片在一個或多個工程之中經常出現時,把他封裝在一個類裡面,在使用時候直接傳參即可實現對於功能,或者直接把這類放到另一個工程中同樣使用;
2.使用宏
3.下面介紹如何使用Code Snippets。(參考博文:http://iosdeveloper.diandian.com/post/2013-06-05/40051279020)
通過code snippets,我們可以建立一些可重用的代碼塊,並且在任何需要的地方很容易的就可以使用這些代碼塊。這可以節省輸入需要的操作和時間。並且,一旦你學會使用code snippets,會發現你可以建立並擴充自己的code snippet library。
建立一個code snippet非常簡單。首先,開啟Xcode並在utilities panel中選擇code snippet library。
中,可以看到在code snippet library中已經有一些資料了。<喎?http://www.bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+CiA8L3A+CjxwPgq909fFo6zK5Mjrz6PN+7S0vai1xGNvZGUgc25pcHBldKGj1NrV4sDvo6zO0s6qcHJhZ21hIG1hcmu0tL2o0ru49mNvZGUgc25pcHBldKGjyOfPws28y/nKvqOs1Nq0+sLrseC8rcb31tDK5MjrIKGwI3ByYWdtYSBtYXJrIKhDIFVJVmlld0NvbnRyb2xsZXIgb3ZlcnJpZGVzobGhozwvcD4KPHA+CjxpbWcgc3JjPQ=="http://www.2cto.com/uploadfile/Collfiles/20140329/2014032910534667.jpg" width="800" height="600" alt="\">
選中代碼塊,如所示:
然後單擊並按住代碼塊,知道文本游標變為箭頭游標。接著將代碼塊拖放到code snippet library中,然後鬆開滑鼠。如所示
此時會彈出一個popover,通過該popover可以對新的code snippet進行編輯,如所示。
首先,是定snippet的名字。這裡我指定為“Pragma Mark”
然後,指定該snippet的completion shortcut(可選項)。這裡我指定為“pm”。這樣設定以後,在Xcode的代碼編輯器中只需要輸入捷徑(pm),就能簡單的將這個snippet添加到代碼中。非常有用!
接著,可以看到在上面的樣本中,pragma mark的標題是“UIViewController overrides”,不過我們是希望對其修改一下,以能夠很容易的輸入任意標題。
我們可以簡單的將code snippet包含的常值內容修改為“#pragma mark – “即可。不過,這裡還有更好的一個辦法——將文字區塊封裝到“<#” 和 “#>”中間,這樣code snippet將指出我們可以插入自訂文本的完整範圍。
下面,將“UIViewController overrides”替換為“<#Title#>”。
注意,completion scopes欄位在這裡並沒有做修改,通過該欄位可以指定completion shortcut的有效範圍。
最後,點擊edit按鈕,以完成snippet的編輯。之後可以在這個popover畫面中看到最終結果的一個預覽效果。
然後點擊popover中的done按鈕。下面,你可以將我們在代碼編輯器中為建立snippet而寫入的文本行刪除掉。
現在來試用一下剛剛建立的snippet!有兩種方法。第一種是在code snippet library中找到snippet,然後用滑鼠將其拖拽到代碼編輯器中…
...然後鬆開滑鼠。
一旦將snippet拖放到代碼編輯器之後,就可以通過點擊鍵盤上的tab鍵在不同的completion欄位間移動焦點。
第二種方法是在代碼編輯器裡簡單的輸入completion shortcut中設定的內容即可。我們這裡是“pm”。
然後點擊鍵盤中的return鍵,就可以將snippet插入到代碼編輯器中。
很簡單吧!現在你已經知道如何建立自己的snippet了,你將發現這非常的有用。任何時候,你都遇到重複輸入的相同代碼塊,都可以考慮將其添加到你的code snippets library中。