在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. VS输入输出基本操作以及数据类型和类型转换

    (一)   C#项目的组成结构 项目结构 .config ---配置文件(存放配置参数文件) .csproj ---项目文件(管理文件项) .sln   ---解决方案文件(管理项目) .cs   - ...

  2. php圖片中寫入字符串然後生成圖片下載到本地

    <?php /** * 生成卡片得類 * Enter description here ... * @author perry * @time 2014-03-03 10:02:20 */ cl ...

  3. PHP FTP操作类( 上传、拷贝、移动、删除文件/创建目录 )

    /** * 作用:FTP操作类( 拷贝.移动.删除文件/创建目录 ) * 时间:2006/5/9 * 作者:欣然随风 * QQ:276624915 */ class class_ftp { publi ...

  4. document.cookie的使用

    设置cookie每个cookie都是一个名/值对,可以把下面这样一个字符串赋值给document.cookie:document.cookie="userId=828";如果要一次 ...

  5. HDU 1394 树状数组求逆序对

    Minimum Inversion Number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java ...

  6. NLTk

    1.python的nltk中文使用和学习资料汇总帮你入门提高 http://blog.csdn.net/huyoo/article/details/12188573

  7. JAVA异常体系

    1.异常体系 ----|Throwable 所有错误或异常的父类 --------|Error(错误) --------|Exception(异常)一般能通过代码处理 ------------|运行时 ...

  8. HQL查询及Hibernate对c3p0连接池的支持

    //HQL查询 // auto-import要设置true,如果是false,写HQL时要指定类的全名 //查询全部列 Query query = session.createQuery(" ...

  9. iOS 引导页组件 HcdGuideView

    HcdGuideView HcdGuideView让你为你的app添加一个漂亮的启动页变得简单. 要求 Xcode 6 or higher iOS 7.0 or higher ARC 安装方法 手动安 ...

  10. word表格从 web版视图 转 到页面视图 模式后 表格的一部分显示不出来

    解决办法 在web视图 中选择 表格  ----->右键  表格属性  表格 下面 的  文字环绕  选择 无