iOS開發-複用代碼塊(Xcode Code Snippets)

來源:互聯網
上載者:User

首先,必須先強調下代碼複用的重要性。

複用的重要性:第一,較高的生產效率;第二,較高的軟體品質;第三,適當的使用複用可以改善系統的可維護性。

複用不僅僅是代碼的複用,代碼複用只是複用的初等形式

傳統的複用:代碼的剪貼複用,演算法的複用,資料結構的複用。

在一個物件導向的語言中,資料的抽象化、繼承、封裝和多態性等特性使得一個系統可以在更高的層次上提供複用性。

抽象化和繼承關係使得概念和定義可以複用。多態性使得實現和應用可以複用。抽象化和封裝可以保持和促進系統的可維護性。使得複用的焦點不再集中在函數和演算法等具體實現細節上,而是集中在最重要的含有宏觀商業邏輯的抽象層次上。

(以上內容摘自)


可見,代碼的複用十分重要。

而在一款應用的開發中,或者在自己的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中。



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.