iOS开发-复用代码块(Xcode Code Snippets)

2014年04月01日 11:52:12

      首先,必须先强调下代码复用的重要性。

      复用的重要性:第一,较高的生产效率;第二,较高的软件质量;第三,适当的使用复用可以改善系统的可维护性。

      复用不仅仅是代码的复用,代码复用只是复用的初等形式

      传统的复用:代码的剪贴复用,算法的复用,数据结构的复用。

      在一个面向对象的语言中,数据的抽象化、继承、封装和多态性等特性使得一个系统可以在更高的层次上提供复用性。

      抽象化和继承关系使得概念和定义可以复用。多态性使得实现和应用可以复用。抽象化和封装可以保持和促进系统的可维护性。使得复用的焦点不再集中在函数和算法等具体实现细节上,而是集中在最重要的含有宏观商业逻辑的抽象层次上。

      (以上内容摘自)

      可见,代码的复用十分重要。

      而在一款应用的开发中,或者在自己的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.2cto.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中。

posted on 2015-10-20 14:55  懿燚  阅读(531)  评论(0编辑  收藏  举报