芒果iOS开发之代码片段Code Snippets Librar
【主要内容:】
1. Apple Code Snippets介绍
2. Code Snippets在项目中的使用
3. 如何创建自己的Code Snippets
一、Apple Code Snippets介绍
1.1 What is Code Snippets ?
Code Snippets简单的来说就是:把项目中出现频率比较高的代码整合成一个快捷方式,当你下次使用的时候只需要输入这个快捷方式就可以出现某段代码。
Code Snippets在项目中的实用度还是相当高的,比如说:
1.1.1 UITableView数据源代理里边两个必须实现的函数;
1.1.2 在Model层声明大量属性的时候;
1.1.3 UITableViewCell重用机制等等的代码都可以制作成一个Code Snippets方便使用。
1.2 Where is Code Snippets?
知道了Code Snippets作用之后,下边就来看下Code Snippets究竟在哪里能找到?
![](https://img.haomeiwen.com/i190758/f237d855ea47e494.png)
在上图中右下角的位置就是Code Snippets的位置,可以看出苹果已经内置了很多Code Snippets。比如我们经常在写for循环的时候,我们只输入一个“for”(或者更短)然后在回车,一个for循环的框架就出来了。其实这个就是一个最常见的Code Snippets。
在下边随便点击一个Code Snippets查看一下,右边区域里是这个Code Snippets的介绍,左边是Code Snippets里边的具体代码内容。
![](https://img.haomeiwen.com/i190758/96c97dfaef1a8dc1.png)
这就是我们经常用的for循环预先设置好的Code Snippets,试想一下如果没有这个Code Snippets,那么我们每次就需要都需要手敲代码,或者Copy/Paste,这样做太麻烦。
二、Code Snippets在项目中的使用
在项目开发中Code Snippets使用率非常高,除了for循环外,还有GCD中的大部分函数,定义枚举,block等等,这个就不一一例举了。下边说说项目中常用的Code Snippets。
Code Snippets非常简单、好用、高效,而且苹果已经事先给我们准备好了众多的Code Snippets。但是苹果只是把一些系统的函数、常用方法设置成Code Snippets,由于每个人写代码的风格、习惯和项目中使用的技术不一样,Code Snippets也各式各样,下边就说几个基本每个项目都能用到的。
2.1 UITableView的数据源代理函数,平时如果是继承自UITableViewController的类系统会自动添加必要的方法,但是如果在UIViewController中添加UITableView那么必须自己添加这两个方法,把他们做成一个Code Snippets会更方便一些。
![](https://img.haomeiwen.com/i190758/c6b3c2d5e0e21b84.png)
2.2 声明Strong属性语义关键字的时候,每次都是固定的内容无疑是重复的工作。大量重复的工作是出现函数的原因,在声明属性的时候Code Snippets也帮了我们不少忙。
![](https://img.haomeiwen.com/i190758/a836a7090d01ecbb.png)
2.3 声明字符串属性的时候要用Copy修饰,所以需要把声明NSString对象的属性也做成一个Code Snippets。
![](https://img.haomeiwen.com/i190758/1e04c6dc4fa93b34.png)
可以做成Code Snippets的东西还有很多,在这里我就简单的介绍两个,其他的要根据自己的实际需求来添加。
三、如何创建自己的Code Snippets
Steps:
3.1 首先打开Xcode右下角的Code Snippets界面
3.2 选择想要做成Code Snippets的代码,然后拖拽到Code Snippets的界面里,这个时候会显示一个绿色的加号,如下图所示:
![](https://img.haomeiwen.com/i190758/d926882f2d0f849b.png)
3.3 出现绿色的加号后松开就创建了一个Code Snippets,这个时候只完成了50%的工作。往下滑动到最下边就可以看到。自己创建的Code Snippets会有一个User的标示。双击打开,然后点击左下角Edit,如下图所示:
![](https://img.haomeiwen.com/i190758/086eda787772dce3.png)
3.4 编辑的时候有以下几个地方需要注意:
Title:标题,也就是给你的Code Snippets起一个名字。
Summary:概要说明,相当于副标题,给标题做一个简单明了的解释。
Platform:平台,选择Code Snippets适用的平台,有以下几个选项:All、iOS、OS X、tvOS、watchOS。一般都选All所有平台。
Completion Shortcut:实现的快捷键,也就是怎么触发这个Code Snippets,比如用for循环的时候我们输入for的时候就可以触发for循环的Code Snippets。这个名字可以随便起,当然简单易用最好,我们下边这个是测试的,我们可以起名叫:“ts”,这个“ts”就是触发条件。
Completion Scopes:实现范围,实现范围有几个选项:All、Class Implementation(类的实现文件)、Class Interface Method(类的接口文件方法)等等,在这我就不一一举栗子了,一般选择All所有就可以了。
如下图所示:
![](https://img.haomeiwen.com/i190758/62151ff16f57a052.png)
3.5 修改完成点击Done即可,下边打开Xcode测试一下,如下图所示:
![](https://img.haomeiwen.com/i190758/fb5a866d5aa84ed7.png)
![](https://img.haomeiwen.com/i190758/af29756d719e8c76.png)
到这里Code Snippets的介绍、使用、创建基本讲完了。
tips:
1. 不知道大家有没有这样的疑问:最后一张图的Enter Your Name是怎么做出来的,就像For循环中的那几个预先设置好输入的地方都有这样类似的东西。那么这个东西是怎么创建的呢?有什么书写的规则?
其实他不叫这个东西,苹果官方给的名字叫:“Token Labeled”。如果想输入这个的token labeled,只需要按照这个格式:<#提示语#>。
2. 用户生成Code Snippets之后苹果会自动保存到Xcode相关路径下,如果重新安装Xcode或者重装系统Code Snippets会丢失,所以在做这些之前可以先把这些东西拷贝一份。
如何找到Code Snippets路径,右键Finder - 选择前往文件夹,输入:~/Library/Developer/Xcode/UserData/CodeSnippets
转载请大家注明出处谢谢大家。