在Double Encore,我们写的代码都是干净,可重用的——不过,有时候并不能完全做到。如在使用pragma mark的时候。下面就是一个示例:
 
  1. #pragma mark - UIViewController overrides
通过pragma mark,可以让代码看起来既整洁又有组织。虽然这很重要,但是会带来额外的输入操作和时间。此时,我们可以使用code snippets。
 
通过code snippets,我们可以创建一些可重用的代码块,并且在任何需要的地方很容易的就可以使用这些代码块。这可以节省输入需要的操作和时间。并且,一旦你学会使用code snippets,会发现你可以创建并扩充自己的code snippet library。
 
创建一个code snippet非常简单。首先,打开Xcode并在utilities panel中选择code snippet library。
上图中,可以看到在code snippet library中已经有一些数据了。
 
选中代码块,如下图所示:

然后单击并按住代码块,知道文本光标变为箭头光标。接着将代码块拖放到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中。
 
下面是我经常使用到的一些snippet:
 
  1. Title: Animation Block
  2. Completion Shortcut: ab
  3. Completion Scopes: Function or Method
  4. void (^<#Title#>)(void) = ^{ };
 
  1. Title: Animation Completion Block
  2. Completion Shortcut: acb
  3. Completion Scopes: Function or Method
  4. void (^<#Title#>)(BOOL) = ^(BOOL finished) { };
  1. Title: Notification Add
  2. Completion Shortcut: na
  3. Completion Scopes: Function or Method
  4. [[NSNotificationCenter defaultCenter] addObserver:<#Observer#> selector:<#Selector#> name:<#Name#> object:<#Object#>];
  1. Title: Notification Remove
  2. Completion Shortcut: nr
  3. Completion Scopes: Function or Method
  4. [[NSNotificationCenter defaultCenter] removeObserver:<#Observer#> name:<#Name#> object:<#Object#>];
  1. Title: NSLog
  2. Completion Shortcut: log
  3. Completion Scopes: Function or Method
  4. NSLog(@"<#Log#>");
  1. Title: Private Interface
  2. Completion Shortcut: pi
  3. Completion Scopes: Top Level
  4. @interface <#Title#> ()
  5. @end
  1. Title: Property Assign
  2. Completion Shortcut: pa
  3. Completion Scopes: All
  4. @property (assign, nonatomic)
  1. Title: Property Strong
  2. Completion Shortcut: ps
  3. Completion Scopes: All
  4. @property (strong, nonatomic)
  1. Title: Property Unsafe Unretained
  2. Completion Shortcut: pu
  3. Completion Scopes: All
  4. @property (unsafe_unretained, nonatomic)

Xcode Snippets的更多相关文章

  1. 【转】iOS开发工具系列(按功能分)

    http://www.cocoachina.com/newbie/basic/2014/0417/8187.html 这是我们多篇iOS开发工具系列篇中的一篇,此前的文章比如:那些不能错过的Xcode ...

  2. iOS 开发常用的一些工具

    http://www.itjhwd.com/ios-tool/ 通用工具 HomeBrew:OS X上非常出色的包管理工具. 源码控制 Git:分布式版本控制系统和源码管理系统,其优点是:快和简单易用 ...

  3. iOS_高效开发之道

    iOS_高效开发之道 话不多说, 总结一下个人感觉有利于提高iOS开发效率的几个小技巧. 本文将从下面几方面介绍: Xcode经常使用快捷键 Xcode调试技巧 Objc经常使用代码片段 Xcode插 ...

  4. [OpenCV] Install OpenCV 3.4 with DNN

    目标定位 一.开始全面支持 Tensorflow OpenCV3.4 新功能 当前最新进展OpenCV 3.4 dev:https://github.com/opencv/opencv/tree/ma ...

  5. Xcode开发中 Code Snippets Library 的相关用法

    当在进行项目的时候,总会遇到很多相同的写法.因此,我们可以使用Code Snippets Library 来进行代码小片段的“封装”: 以Xcode中常用的属性为例: 使用步骤如下: 1.在Xcode ...

  6. Xcode开发技巧之Code Snippets Library

    http://blog.csdn.net/lin1986lin/article/details/21180007 目录(?)[-] 引言 什么是Code Snippets 如何新建Code Snipp ...

  7. xCode如何导入自定义的snippets文件

    xCode代码块snippets导入 目标文件放置位置 ~/Library/Developer/Xcode/UserData/CodeSnippets 操作方法: 解压缩并复制到以下目录即可

  8. iOS 从git拷贝Xcode的snippets

    do following things in terminal 1. check out the project using: git clone gitAddress 2. cd the proje ...

  9. Xcode开发技巧之code snippets(代码片段)

    一.什么是代码片段 当在Xcode中输入dowhile并回车后,Xcode会出现下图所示的提示代码: 这就是代码片段,目的是使程序员以最快的速度输入常用的代码片段,提高编程效率.该功能是从Xcode4 ...

随机推荐

  1. PHP——字符串统一转码为GBK,自动判断是否UTF8并转码

    public static function strToGBK($strText) { $encode = mb_detect_encoding($strText, array('UTF-8','GB ...

  2. linux win 的换行转换

    Linux和Windows和换行符不一样.Windows下是CRLF(\r\n或0d0a),Linux下是LF(\n或0a).在Linux下有时会遇到从Windows过来的文本文件,这些文件带了Win ...

  3. 创建论坛Discuz

    下载discuz! mkdir /data/wwwcd /data/wwwwget  http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_GB ...

  4. [Jquery]tab页面切换效果

    思路:取得头部和内容的div,头部当前点击的高亮,其余的去除高亮,并通过index()方法获得当前点击的索引,然后内容div通过.eq(index)显示和隐藏 优化:当前做法,从第一个快速移到最后一个 ...

  5. 给出一个长度为n的数列,请对于每一个数,输出他右边第一个比他大的数。n<=100000.

    RT,一个ppt里看到的题,不过没讲做法.百度上基本搜不到.自己想了个做法,理论上可行,复杂度也是O(nlogn). 首先,做一次RMQ,求区间最大值. 对于任意一个数s[i],可以用logn的时间求 ...

  6. struts中的常量,action配置中的默认值

    1.struts中Action的开发方式 继承ActionSupport类,这种方法实现的Action可以进行数据校验: 实现Action接口: 不继承任何类,不实现任何接口: 是否继承类或实现接口, ...

  7. Linux登陆和欢迎信息修改

    edit file: /etc/issue,/etc/motd 这样还改不了,生成的脚本在目录/etc/update-motd.d/中: 假如要打开一个文本文件,可以修改10-help-text: ( ...

  8. Visual Studio Ultimate 2013 with Update 4

    Visual Studio Ultimate 2013 with Update 4 是一个先进的开发解决方案,各种规模的团队通过它均可设计和创建引人注目的应用程序,使用户兴致勃勃. Visual St ...

  9. 如何使用SVN管理我们的源代码

    今天把公司的SVN服务器配置给做了一下,根据公司部门的不同,划分了不同的访问目录,并给不同目录配置了相应的权限,算是把这份差事给干完了,但其实我对自己的工作是不满意和有遗憾的,因为目前公司的SVN服务 ...

  10. Oracle Enterprise Metadata Management (简称OEMM,Oracle元数据管理)12.1.3.0.1已经发布

    在数据处理及数据仓库建设中,元数据管理是必不可少的,OEMM可以解决元数据管理过程中各种关键业务问题和技术挑战,其中包括如何元数据的统计信息,了解变更数据之后对下游的影响范围,而且OEMM站在业务的角 ...